export type SdpDirection = 'sendrecv' | 'sendonly' | 'recvonly' | 'inactive'; export type SdpSetupRole = 'actpass' | 'active' | 'passive' | 'holdconn'; export type SdpCodec = { payloadType: number; mimeType: string; clockRate?: number; channels?: number; sdpFmtpLine?: string; parameters: Record; rtcpFeedback: string[]; }; export type SdpMediaSection = { kind: string; mid?: string; port: number; protocol: string; direction: SdpDirection; codecs: SdpCodec[]; extensions: { id: number; uri: string; }[]; ssrcs: number[]; ssrcGroups: { semantics: string; ssrcs: number[]; }[]; rids: { id: string; direction: 'send' | 'recv'; }[]; simulcast?: string; rtcpMux: boolean; rtcpRsize: boolean; setup?: SdpSetupRole; bandwidthAsInKbps?: number; bandwidthTiasInBps?: number; }; export type ParsedSdp = { sessionVersion?: number; iceLite: boolean; iceOptions: string[]; bundleGroups: string[][]; extmapAllowMixed: boolean; setup?: SdpSetupRole; mediaSections: SdpMediaSection[]; }; export declare function parseSdp(sdp: string): ParsedSdp; export declare function redactSdp(sdp: string): string; export declare const directionSends: (direction?: SdpDirection) => direction is "sendrecv" | "sendonly"; export declare const directionReceives: (direction?: SdpDirection) => direction is "sendrecv" | "recvonly";