/** * @file RTCSessionDescription.ts * @description Session Description Protocol (SDP) representation * @module sdp/RTCSessionDescription * * Implements the W3C RTCSessionDescription interface * (https://www.w3.org/TR/webrtc/#rtcsessiondescription-class). */ /** * RTCSdpType - Types of session descriptions * @readonly * @enum {string} */ export declare const RTCSdpType: Readonly>; /** * Session description init object. */ export interface RTCSessionDescriptionInit { type?: string; sdp?: string; } /** * JSON representation of an RTCSessionDescription. */ export interface RTCSessionDescriptionJSON { type: string | null; sdp: string | null; } /** * @class RTCSessionDescription * @description Represents a WebRTC session description (offer/answer) * * @example * const desc = new RTCSessionDescription({ * type: 'offer', * sdp: 'v=0\r\no=- 123456 2 IN IP4 127.0.0.1\r\n...' * }); */ export declare class RTCSessionDescription { #private; /** * Create an RTCSessionDescription instance. * @param {Object} [init] - Session description init * @param {string} [init.type] - SDP type (offer/answer/pranswer/rollback) * @param {string} [init.sdp] - SDP string */ constructor(init?: RTCSessionDescriptionInit); /** * Get the SDP type. * @returns {string|null} SDP type */ get type(): string | null; /** * Set the SDP type. * @param {string} value - SDP type */ set type(value: string | null); /** * Get the SDP string. * @returns {string|null} SDP string */ get sdp(): string | null; /** * Set the SDP string. * @param {string} value - SDP string */ set sdp(value: string | null); /** * Convert to JSON representation. * @returns {Object} JSON representation */ toJSON(): RTCSessionDescriptionJSON; }