import { ConnectionQuality } from "./types"; interface ChildTrackerConfig { TrackerClass: new (onConnectionQualityChanged: (quality: ConnectionQuality) => void) => AbstractConnectionQualityIndicator; getParams: (params: T) => U; } export declare abstract class AbstractConnectionQualityIndicator { private _connectionQuality; protected readonly onConnectionQualityChanged: (quality: ConnectionQuality) => void; constructor(onConnectionQualityChanged: (quality: ConnectionQuality) => void); get connectionQuality(): ConnectionQuality; protected handleStatsChanged(): void; protected abstract calculateConnectionQuality(): ConnectionQuality; protected abstract _start(params: T): void; protected abstract _stop(): void; start(params: T): void; stop(muted?: boolean): void; } export declare function QualityIndicatorComposite(...configs: ChildTrackerConfig[]): { new (onConnectionQualityChanged: (quality: ConnectionQuality) => void): AbstractConnectionQualityIndicator; }; export {};