import { Detectors } from "../detectors/Detectors";
import { OutboundTrackSample } from "../schema/ClientSample";
import { CalculatedScore } from "../scores/CalculatedScore";
import { MediaSourceMonitor } from "./MediaSourceMonitor";
import { OutboundRtpMonitor } from "./OutboundRtpMonitor";
export declare class OutboundTrackMonitor {
    readonly track: MediaStreamTrack;
    private _mediaSource;
    readonly direction = "outbound";
    readonly detectors: Detectors;
    readonly mappedOutboundRtps: Map<number, OutboundRtpMonitor>;
    calculatedScore: CalculatedScore;
    get score(): number | undefined;
    get scoreReasons(): Record<string, number> | undefined;
    attachments?: Record<string, unknown> | undefined;
    appData?: Record<string, unknown> | undefined;
    constructor(track: MediaStreamTrack, _mediaSource: MediaSourceMonitor, attachments?: Record<string, unknown>);
    getPeerConnection(): import("./PeerConnectionMonitor").PeerConnectionMonitor;
    getMediaSource(): MediaSourceMonitor;
    get kind(): string;
    bitrate?: number;
    jitter?: number;
    fractionLost?: number;
    sendingPacketRate?: number;
    remoteReceivedPacketRate?: number;
    update(): void;
    getOutboundRtps(): OutboundRtpMonitor[];
    getHighestLayer(): OutboundRtpMonitor | undefined;
    createSample(): OutboundTrackSample;
}
