import { RTCRtpParameters } from "./parameters"; import { RTCIceParameters, RTCIceCandidate } from "./transport/ice"; import { RTCDtlsParameters } from "./transport/dtls"; import { RTCSctpCapabilities } from "./transport/sctp"; export declare class SessionDescription { version: number; origin?: string; name: string; time: string; host?: string; group: GroupDescription[]; msidSemantic: GroupDescription[]; media: MediaDescription[]; type?: "offer" | "answer"; static parse(sdp: string): SessionDescription; toString(): string; } export declare class MediaDescription { kind: string; port: number; profile: string; fmt: string[] | number[]; host?: string; direction?: string; msid?: string; rtcpPort?: number; rtcpHost?: string; rtcpMux: boolean; ssrc: SsrcDescription[]; ssrcGroup: GroupDescription[]; rtp: RTCRtpParameters; sctpCapabilities?: RTCSctpCapabilities; sctpMap: { [key: number]: string; }; sctpPort?: number; dtls?: RTCDtlsParameters; ice?: RTCIceParameters; iceCandidates: RTCIceCandidate[]; iceCandidatesComplete: boolean; iceOptions?: string; constructor(kind: string, port: number, profile: string, fmt: string[] | number[]); toString(): string; } export declare class GroupDescription { semantic: string; items: (number | string)[]; constructor(semantic: string, items: (number | string)[]); str(): string; } export declare class RTCSessionDescription { sdp: string; type: "offer" | "answer"; constructor(sdp: string, type: "offer" | "answer"); } export declare function addSDPHeader(type: "offer" | "answer", description: SessionDescription): void; export declare class SsrcDescription { ssrc: number; cname?: string; msid?: string; msLabel?: string; label?: string; constructor(props: Partial); }