import { OutboundRtpStats, PsnrSum, QualityLimitationDurations } from "../schema/ClientSample";
import { MediaKind } from "../schema/W3cStatsIdentifiers";
import { PeerConnectionMonitor } from "./PeerConnectionMonitor";
export declare class OutboundRtpMonitor implements OutboundRtpStats {
    private readonly _peerConnection;
    private _visited;
    timestamp: number;
    id: string;
    ssrc: number;
    kind: MediaKind;
    qualityLimitationDurations?: QualityLimitationDurations;
    transportId?: string | undefined;
    codecId?: string | undefined;
    packetsSent?: number | undefined;
    bytesSent?: number | undefined;
    mid?: string | undefined;
    mediaSourceId?: string | undefined;
    remoteId?: string | undefined;
    rid?: string | undefined;
    encodingIndex?: number | undefined;
    headerBytesSent?: number | undefined;
    retransmittedPacketsSent?: number | undefined;
    retransmittedBytesSent?: number | undefined;
    rtxSsrc?: number | undefined;
    targetBitrate?: number | undefined;
    totalEncodedBytesTarget?: number | undefined;
    frameWidth?: number | undefined;
    frameHeight?: number | undefined;
    framesPerSecond?: number | undefined;
    framesSent?: number | undefined;
    hugeFramesSent?: number | undefined;
    framesEncoded?: number | undefined;
    keyFramesEncoded?: number | undefined;
    qpSum?: number | undefined;
    psnrSum?: PsnrSum | undefined;
    psnrMeasurements?: number | undefined;
    totalEncodeTime?: number | undefined;
    totalPacketSendDelay?: number | undefined;
    qualityLimitationReason?: string | undefined;
    qualityLimitationResolutionChanges?: number | undefined;
    nackCount?: number | undefined;
    firCount?: number | undefined;
    pliCount?: number | undefined;
    encoderImplementation?: string | undefined;
    powerEfficientEncoder?: boolean | undefined;
    active?: boolean | undefined;
    scalabilityMode?: string | undefined;
    packetsSentWithEct1?: number | undefined;
    bitrate?: number | undefined;
    payloadBitrate?: number | undefined;
    packetRate?: number | undefined;
    bitPerPixel?: number | undefined;
    deltaPacketsSent?: number | undefined;
    deltaBytesSent?: number | undefined;
    deltaHeaderBytesSent?: number | undefined;
    deltaRetransmittedPacketsSent?: number | undefined;
    deltaRetransmittedBytesSent?: number | undefined;
    deltaFramesSent?: number | undefined;
    deltaFramesEncoded?: number | undefined;
    deltaKeyFramesEncoded?: number | undefined;
    deltaHugeFramesSent?: number | undefined;
    deltaTotalEncodeTime?: number | undefined;
    deltaTotalPacketSendDelay?: number | undefined;
    deltaQpSum?: number | undefined;
    deltaNackCount?: number | undefined;
    deltaFirCount?: number | undefined;
    deltaPliCount?: number | undefined;
    encodeTimePerFrameInMs?: number | undefined;
    retransmissionRatio?: number | undefined;
    retransmittedPacketRatio?: number | undefined;
    avgQpPerFrame?: number | undefined;
    avgPacketSendDelayInMs?: number | undefined;
    keyFrameRate?: number | undefined;
    nackRate?: number | undefined;
    pliRate?: number | undefined;
    firRate?: number | undefined;
    qualityLimitationDurationShares?: {
        none: number;
        cpu: number;
        bandwidth: number;
        other: number;
    } | undefined;
    attachments?: Record<string, unknown> | undefined;
    appData?: Record<string, unknown> | undefined;
    constructor(_peerConnection: PeerConnectionMonitor, options: OutboundRtpStats);
    get visited(): boolean;
    get trackIdentifier(): string | undefined;
    getPeerConnection(): PeerConnectionMonitor;
    getRemoteInboundRtp(): import("./RemoteInboundRtpMonitor").RemoteInboundRtpMonitor | undefined;
    getCodec(): import("./CodecMonitor").CodecMonitor | undefined;
    getMediaSource(): import("./MediaSourceMonitor").MediaSourceMonitor | undefined;
    getTrack(): import("./OutboundTrackMonitor").OutboundTrackMonitor | undefined;
    accept(stats: Omit<OutboundRtpStats, 'appData'>): void;
    private _calculateQualityLimitationShares;
    createSample(): OutboundRtpStats;
}
