import type { PeerConnectionMonitor } from "./PeerConnectionMonitor"; import { ParsedSdp, SdpDirection } from "../utils/sdp"; export type SdpDescriptionInput = { type: RTCSdpType | string; sdp?: string; }; export type SdpDescription = { type: string; sdp: string; parsed: ParsedSdp; acceptedAt: number; }; export type SdpNegotiatedMediaSection = { mid?: string; kind: string; localDirection: SdpDirection; remoteDirection: SdpDirection; sending: boolean; receiving: boolean; rejected: boolean; codecs: string[]; primaryCodec?: string; sendDtx: boolean; receiveDtx: boolean; sendInbandFec: boolean; receiveInbandFec: boolean; red: boolean; transportCc: boolean; sendSimulcastLayers: number; }; export declare class SdpMonitor { private readonly _peerConnection; localDescription?: SdpDescription; remoteDescription?: SdpDescription; localDescriptionsCount: number; remoteDescriptionsCount: number; negotiatedMediaSections: SdpNegotiatedMediaSection[]; constructor(_peerConnection: PeerConnectionMonitor); acceptLocalDescription(description: SdpDescriptionInput): SdpDescription | undefined; acceptRemoteDescription(description: SdpDescriptionInput): SdpDescription | undefined; get negotiationRole(): 'offerer' | 'answerer' | undefined; private _accept; private _report; private _update; private _negotiate; private _dtlsRole; private _bundled; private _publishSummary; }