import { IceCandidatePairStats } from "../schema/ClientSample";
import { IceRelayProtocol } from "./IceCandidateMonitor";
import { PeerConnectionMonitor } from "./PeerConnectionMonitor";
export type IcePathKind = 'direct' | 'turn-udp' | 'turn-tcp' | 'turn-tls' | 'turn-unknown';
export declare class IceCandidatePairMonitor implements IceCandidatePairStats {
    private readonly _peerConnection;
    private _visited;
    id: string;
    timestamp: number;
    transportId?: string | undefined;
    localCandidateId?: string | undefined;
    remoteCandidateId?: string | undefined;
    state?: "new" | "in-progress" | "failed" | "waiting" | "succeeded" | undefined;
    nominated?: boolean | undefined;
    packetsSent?: number | undefined;
    packetsReceived?: number | undefined;
    bytesSent?: number | undefined;
    bytesReceived?: number | undefined;
    lastPacketSentTimestamp?: number | undefined;
    lastPacketReceivedTimestamp?: number | undefined;
    totalRoundTripTime?: number | undefined;
    currentRoundTripTime?: number | undefined;
    availableOutgoingBitrate?: number | undefined;
    availableIncomingBitrate?: number | undefined;
    requestsReceived?: number | undefined;
    requestsSent?: number | undefined;
    responsesReceived?: number | undefined;
    responsesSent?: number | undefined;
    consentRequestsSent?: number | undefined;
    packetsDiscardedOnSend?: number | undefined;
    bytesDiscardedOnSend?: number | undefined;
    deltaPacketsSent?: number | undefined;
    deltaPacketsReceived?: number | undefined;
    deltaBytesSent?: number | undefined;
    deltaBytesReceived?: number | undefined;
    deltaTotalRoundTripTime?: number | undefined;
    deltaResponsesReceived?: number | undefined;
    avgRoundTripTimeInSec?: number | undefined;
    attachments?: Record<string, unknown> | undefined;
    appData?: Record<string, unknown> | undefined;
    constructor(_peerConnection: PeerConnectionMonitor, options: IceCandidatePairStats);
    get visited(): boolean;
    accept(stats: Omit<IceCandidatePairStats, 'appData'>): void;
    getPeerConnection(): PeerConnectionMonitor;
    getIceTransport(): import("./IceTransportMonitor").IceTransportMonitor | undefined;
    getLocalCandidate(): import("./IceCandidateMonitor").IceCandidateMonitor | undefined;
    getRemoteCandidate(): import("./IceCandidateMonitor").IceCandidateMonitor | undefined;
    get pathKey(): string;
    get usingTurn(): boolean;
    get usingTcp(): boolean;
    get relayProtocol(): IceRelayProtocol | undefined;
    get turnUrl(): string | undefined;
    get turnServer(): string | undefined;
    get pathKind(): IcePathKind;
    get tuple(): string;
    createSample(): IceCandidatePairStats;
}
