UNPKG

mysterium-vpn-js

Version:
67 lines (66 loc) 2.06 kB
/** * Copyright (c) 2022 BlockDev AG * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import { HttpInterface } from '../http/interface'; import { Tokens } from '../common/tokens'; export declare class ProviderAPI { private http; constructor(http: HttpInterface); sessions(query?: MetricsQuery): Promise<SessionsV2Response>; sessionCount(query?: MetricsQuery): Promise<SessionV2CountResponse>; transferredDataCount(query?: MetricsQuery): Promise<SessionV2CountResponse>; uniqueConsumerCount(query?: MetricsQuery): Promise<SessionV2CountResponse>; seriesSessions(query?: MetricsQuery): Promise<SeriesResponse>; seriesEarnings(query?: MetricsQuery): Promise<SeriesResponse>; seriesData(query?: MetricsQuery): Promise<SeriesResponse>; quality(): Promise<QualityResponse>; activity(): Promise<ActivityResponse>; earningsPerService(): Promise<EarningsPerServiceResponse>; } export interface EarningsPerServiceResponse { publicTokens: Tokens; dataTransferTokens: Tokens; dvpnTokens: Tokens; scrapingTokens: Tokens; totalTokens: Tokens; totalDvpnTokens: Tokens; totalPublicTokens: Tokens; totalDataTransferTokens: Tokens; totalScrapingTokens: Tokens; } export interface ActivityResponse { onlinePercent: number; activePercent: number; } export interface QualityResponse { quality: number; } export declare type MetricsRange = '1d' | '7d' | '30d' | string; export interface MetricsQuery { range?: MetricsRange; } export interface SessionsV2Response { sessions: SessionV2[]; } export interface SessionV2 { id: string; consumerCountry: string; serviceType: string; durationSeconds: number; startedAt: string; earnings: Tokens; transferredBytes: number; } export interface SessionV2CountResponse { count: number; } export interface SeriesEntry { value: string; timestamp: number; } export interface SeriesResponse { data: SeriesEntry[]; }