import { Encoder } from "./utils";
import { MediaSourceStats as InputMediaSourceStats } from "./InputSamples";
import { AttachmentEncoder } from "./utils";
import { ClientSample_PeerConnectionSample_MediaSourceStats as OutputMediaSourceStats } from "./OutputSamples";
export declare class MediaSourceStatsEncoder implements Encoder<InputMediaSourceStats, OutputMediaSourceStats> {
    private _visited;
    private readonly _timestampEncoder;
    private readonly _idEncoder;
    private readonly _kindEncoder;
    private readonly _trackIdentifierEncoder;
    private readonly _audioLevelEncoder;
    private readonly _totalAudioEnergyEncoder;
    private readonly _totalSamplesDurationEncoder;
    private readonly _echoReturnLossEncoder;
    private readonly _echoReturnLossEnhancementEncoder;
    private readonly _widthEncoder;
    private readonly _heightEncoder;
    private readonly _framesEncoder;
    private readonly _framesPerSecondEncoder;
    private readonly _attachmentsEncoder;
    constructor(attachmentsEncoder: AttachmentEncoder);
    get visited(): boolean;
    reset(): void;
    encode(sample: InputMediaSourceStats): OutputMediaSourceStats;
}
//# sourceMappingURL=MediaSourceEncoder.d.ts.map