import { Nullable, ObjectLike } from '@mlytics/core-ts/core/type/basic'; import { CDNMetrics, NodeMetrics, OriginMetrics, ReportMetrics, SourceMetrics, SwarmMetrics, TrackerMetrics } from '../model/metrics'; import { CDNConfigRecord, SwarmStateRecord, UserStateRecord } from '../model/record'; declare class MetricsStats { protected _cdns: ObjectLike; protected _origin: OriginMetrics; protected _tracker: TrackerMetrics; protected _node: NodeMetrics; protected _swarms: ObjectLike; protected _source: SourceMetrics; protected _report: ReportMetrics; constructor(); get cdns(): ObjectLike; get origin(): OriginMetrics; get tracker(): TrackerMetrics; get node(): NodeMetrics; get swarms(): ObjectLike; get source(): SourceMetrics; get report(): ReportMetrics; reset(): void; resetMCDN(): void; protected _resetMCDN(): void; protected _resetP2SP(): void; protected _resetSource(): void; protected _resetReport(): void; setupCDN(record: CDNConfigRecord): void; setupSwarm(record: SwarmStateRecord): void; setupUser(record: UserStateRecord): void; protected _setupCDNs(): void; protected _setupCDN(record: CDNConfigRecord): void; protected _setupOrigin(): void; protected _setupTracker(): void; protected _setupNode(): void; protected _setupSwarms(): void; protected _setupSwarm(record: SwarmStateRecord): void; protected _setupUser(record: UserStateRecord): void; protected _setupSource(): void; protected _setupReport(): void; } declare class MetricsStatsHolder { protected static _instance?: Nullable; static get instance(): Nullable; static set instance(value: Nullable); static get cdns(): ObjectLike; static get origin(): OriginMetrics; static get tracker(): TrackerMetrics; static get node(): NodeMetrics; static get swarms(): ObjectLike; static get source(): SourceMetrics; static get report(): ReportMetrics; static resetMCDN(): void; static setupCDN(record: CDNConfigRecord): void; static setupSwarm(record: SwarmStateRecord): void; static setupUser(record: UserStateRecord): void; } export { MetricsStats, MetricsStatsHolder };