import { MediaSourceStats } from "../schema/ClientSample";
import { MediaKind } from "../schema/W3cStatsIdentifiers";
import { PeerConnectionMonitor } from "./PeerConnectionMonitor";
export declare class MediaSourceMonitor implements MediaSourceStats {
    private readonly _peerConnection;
    private _visited;
    timestamp: number;
    id: string;
    kind: MediaKind;
    audioLevel?: number | undefined;
    trackIdentifier?: string;
    totalAudioEnergy?: number | undefined;
    totalSamplesDuration?: number | undefined;
    echoReturnLoss?: number | undefined;
    echoReturnLossEnhancement?: number | undefined;
    width?: number | undefined;
    height?: number | undefined;
    frames?: number | undefined;
    framesPerSecond?: number | undefined;
    deltaFrames?: number | undefined;
    deltaTotalAudioEnergy?: number | undefined;
    deltaSamplesDuration?: number | undefined;
    sourceFps?: number | undefined;
    rmsAudioLevel?: number | undefined;
    attachments?: Record<string, unknown> | undefined;
    appData?: Record<string, unknown> | undefined;
    constructor(_peerConnection: PeerConnectionMonitor, options: MediaSourceStats);
    get visited(): boolean;
    getPeerConnection(): PeerConnectionMonitor;
    getTrack(): import("./OutboundTrackMonitor").OutboundTrackMonitor | undefined;
    getOutboundRtps(): import("./OutboundRtpMonitor").OutboundRtpMonitor[];
    accept(stats: Omit<MediaSourceStats, 'appData'>): void;
    createSample(): MediaSourceStats;
}
