import Emittery from 'emittery'; import { Nullable } from '@mlytics/core-ts/core/type/basic'; import { TaskManager } from '@mlytics/core-ts/core/util/future'; declare class MetricsCollector extends Emittery { protected _taskManager: TaskManager; activate(): Promise; deactivate(): Promise; protected _bindEvents(): Promise; protected _buildTasks(): Promise; protected _buildHandleHTTPDownloadPulseTrafficTask(): Promise; protected _buildHandleHTTPDownloadCumulativeTrafficTask(): Promise; protected _buildHandleHTTPDownloadWMABandwidthTask(): Promise; protected _buildHandleHTTPDownloadUsagePulseCountTask(): Promise; protected _buildHandleHTTPDownloadUsageCumulativeCountTask(): Promise; protected _buildHandleHTTPDownloadSuccessPulseCountTask(): Promise; protected _buildHandleHTTPDownloadSuccessCumulativeCountTask(): Promise; protected _buildHandleHTTPDownloadFailurePulseCountTask(): Promise; protected _buildHandleHTTPDownloadFailureCumulativeCountTask(): Promise; protected _buildHandleCDNDownloadLastMeanBandwidthTask(): Promise; protected _buildHandleCDNDownloadLastMeanAvailabilityTask(): Promise; protected _buildHandleCDNDownloadLastCurrentScoreTask(): Promise; protected _buildHandleP2PDownloadPulseTrafficTask(): Promise; protected _buildHandleP2PDownloadCumulativeTrafficTask(): Promise; protected _buildHandleP2PDownloadWMABandwidthTask(): Promise; protected _buildHandleP2PDownloadUsagePulseCountTask(): Promise; protected _buildHandleP2PDownloadUsageCumulativeCountTask(): Promise; protected _buildHandlePruneMetricsStatsTask(): Promise; } declare class MetricsCollectorEvent { static readonly HTTP_DOWNLOAD_RECORD = "http_download_record"; static readonly CDN_CONFIG_RECORDS = "cdn_config_records"; static readonly CDN_DOWNLOAD_RECORD = "cdn_download_record"; static readonly P2P_DOWNLOAD_RECORD = "p2p_download_record"; static readonly TRACKER_STATE_RECORD = "tracker_state_record"; static readonly NODE_STATE_RECORD = "node_state_record"; static readonly SWARM_STATE_RECORD = "swarm_state_record"; static readonly USER_STATE_RECORD = "user_state_record"; static readonly PURGE_CDN_RECORDS = "purge_cdn_records"; } declare class MetricsCollectorHolder { protected static _instance?: Nullable; static get instance(): Nullable; static set instance(value: Nullable); static emit(eventName: string, eventData: unknown): Promise; } export { MetricsCollector, MetricsCollectorEvent, MetricsCollectorHolder };