import Emittery from 'emittery'; import { AbstractFlow } from '@mlytics/core-ts/utility/flow'; import { HTTPDownloadRecordExport, P2PDownloadRecordExport } from './model/export'; declare class MetricsExporter extends Emittery { emit(eventName: string, eventData?: unknown): Promise; } declare class MetricsExporterEvent { static readonly HTTP_DOWNLOAD_RECORD = "http_download_record"; static readonly HTTP_DOWNLOAD_PULSE_TRAFFIC = "http_download_pulse_traffic"; static readonly HTTP_DOWNLOAD_CUMULATIVE_TRAFFIC = "http_download_cumulative_traffic"; static readonly HTTP_DOWNLOAD_WMA_BANDWIDTH = "http_download_wma_bandwidth"; static readonly HTTP_DOWNLOAD_USAGE_PULSE_COUNT = "http_download_usage_pulse_count"; static readonly HTTP_DOWNLOAD_USAGE_CUMULATIVE_COUNT = "http_download_usage_cumulative_count"; static readonly HTTP_DOWNLOAD_SUCCESS_PULSE_COUNT = "http_download_success_pulse_count"; static readonly HTTP_DOWNLOAD_SUCCESS_CUMULATIVE_COUNT = "http_download_success_cumulative_count"; static readonly HTTP_DOWNLOAD_FAILURE_PULSE_COUNT = "http_download_failure_pulse_count"; static readonly HTTP_DOWNLOAD_FAILURE_CUMULATIVE_COUNT = "http_download_failure_cumulative_count"; static readonly CDN_DOWNLOAD_LAST_MEAN_BANDWIDTH = "cdn_download_last_mean_bandwidth"; static readonly CDN_DOWNLOAD_LAST_MEAN_AVAILABILITY = "cdn_download_last_mean_availability"; static readonly CDN_DOWNLOAD_LAST_CURRENT_SCORE = "cdn_download_last_current_score"; static readonly P2P_DOWNLOAD_RECORD = "p2p_download_record"; static readonly P2P_DOWNLOAD_PULSE_TRAFFIC = "p2p_download_pulse_traffic"; static readonly P2P_DOWNLOAD_CUMULATIVE_TRAFFIC = "p2p_download_cumulative_traffic"; static readonly P2P_DOWNLOAD_WMA_BANDWIDTH = "p2p_download_wma_bandwidth"; static readonly P2P_DOWNLOAD_USAGE_PULSE_COUNT = "p2p_download_usage_pulse_count"; static readonly P2P_DOWNLOAD_USAGE_CUMULATIVE_COUNT = "p2p_download_usage_cumulative_count"; static readonly P2SP_SYSTEM_STATE = "p2sp_system_state"; static readonly SOURCE_PULSE_TRAFFIC = "source_pulse_traffic"; static readonly SOURCE_CUMULATIVE_TRAFFIC = "source_cumulative_traffic"; } declare class MetricsExporterHolder { protected static _instance: MetricsExporter; static get instance(): MetricsExporter; static isListened(eventName: string): boolean; static emit(eventName: string, eventData?: unknown): Promise; } declare class ExportHTTPDownloadRecordHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _exportResult(): Promise; static process(options: ExportHTTPDownloadRecordOptions): Promise; } type ExportHTTPDownloadRecordContent = HTTPDownloadRecordExport; type ExportHTTPDownloadRecordOptions = ExportHTTPDownloadRecordContent; declare class ExportHTTPDownloadPulseTrafficHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _injectOrigin(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportHTTPDownloadCumulativeTrafficHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _injectOrigin(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportHTTPDownloadWMABandwidthHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _injectOrigin(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportHTTPDownloadUsagePulseCountHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _injectOrigin(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportHTTPDownloadUsageCumulativeCountHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _injectOrigin(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportHTTPDownloadSuccessPulseCountHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _injectOrigin(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportHTTPDownloadSuccessCumulativeCountHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _injectOrigin(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportHTTPDownloadFailurePulseCountHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _injectOrigin(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportHTTPDownloadFailureCumulativeCountHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _injectOrigin(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportCDNDownloadLastMeanBandwidthHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportCDNDownloadLastMeanAvailabilityHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportCDNDownloadLastCurrentScoreHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportP2PDownloadRecordHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _exportResult(): Promise; static process(options: ExportP2PDownloadRecordOptions): Promise; } type ExportP2PDownloadRecordContent = P2PDownloadRecordExport; type ExportP2PDownloadRecordOptions = ExportP2PDownloadRecordContent; declare class ExportP2PDownloadPulseTrafficHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportP2PDownloadCumulativeTrafficHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportP2PDownloadWMABandwidthHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportP2PDownloadUsagePulseCountHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportP2PDownloadUsageCumulativeCountHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _exportResult(): Promise; static process(): Promise; } declare class ExportP2SPSystemStateHandler extends AbstractFlow { process(): Promise; protected get _shouldExport(): boolean; protected _intakeResult(): Promise; protected _exportResult(): Promise; static process(): Promise; } export { MetricsExporter, MetricsExporterEvent, MetricsExporterHolder, ExportHTTPDownloadRecordHandler, ExportHTTPDownloadPulseTrafficHandler, ExportHTTPDownloadCumulativeTrafficHandler, ExportHTTPDownloadWMABandwidthHandler, ExportHTTPDownloadUsagePulseCountHandler, ExportHTTPDownloadUsageCumulativeCountHandler, ExportHTTPDownloadSuccessPulseCountHandler, ExportHTTPDownloadSuccessCumulativeCountHandler, ExportHTTPDownloadFailurePulseCountHandler, ExportHTTPDownloadFailureCumulativeCountHandler, ExportCDNDownloadLastMeanBandwidthHandler, ExportCDNDownloadLastMeanAvailabilityHandler, ExportCDNDownloadLastCurrentScoreHandler, ExportP2PDownloadRecordHandler, ExportP2PDownloadPulseTrafficHandler, ExportP2PDownloadCumulativeTrafficHandler, ExportP2PDownloadWMABandwidthHandler, ExportP2PDownloadUsagePulseCountHandler, ExportP2PDownloadUsageCumulativeCountHandler, ExportP2SPSystemStateHandler };