import type { StatsAdapter } from '../ports/outbound/stats-adapter.port'; import type { NetworkQuality } from '../types/events.types'; import type { Logger } from '../utils/logger'; import { type StatsEventName, type StatsEventMap } from '../types/stats.types'; import { BaseService } from './base.service'; /** * Stats service for network quality and RTC statistics. * * This service has its own event system completely separate from Session events. * Use `session.stats.on(StatsEvent.NetworkQuality, ...)` to listen to stats events. */ export declare class StatsService extends BaseService { private statsAdapter; private eventHandlers; private unsubscribes; constructor(statsAdapter: StatsAdapter, logger: Logger); /** Get current network quality. */ getNetworkQuality(): NetworkQuality; /** Get native RTC stats report. */ getStats(): Promise; /** Register an event handler for stats events. */ on(event: E, handler: StatsEventMap[E]): void; /** Remove an event handler for stats events. */ off(event?: E, handler?: StatsEventMap[E]): void; /** * Cleanup resources * @internal */ destroy(): void; private setupEventListeners; private emit; } //# sourceMappingURL=stats.service.d.ts.map