/// import { Socket } from 'dgram'; import { SipSession } from './sip-session'; export declare function setPreferredExternalPorts(start: number, end: number): void; export declare function setFfmpegPath(path: string): void; export declare function getFfmpegPath(): string; export interface SrtpOptions { srtpKey: Buffer; srtpSalt: Buffer; } export interface RtpStreamOptions extends Partial { port: number; } export interface RtpOptions { address: string; audio: RtpStreamOptions; video: RtpStreamOptions; } export declare function getPublicIpViaStun(): Promise; export declare function getPublicIp(): Promise; export declare function releasePorts(ports: number[]): void; export declare function reservePorts({ count, forExternalUse, attemptedPorts, }?: { count?: number; forExternalUse?: boolean; attemptedPorts?: number[]; }): Promise; export declare function getSsrc(message: Buffer): number | null; export declare function generateSsrc(): number; export declare function getSrtpValue({ srtpKey, srtpSalt }: Partial): string; export declare function bindToPort(socket: Socket, { forExternalUse }?: { forExternalUse?: boolean | undefined; }): Promise; export declare function sendUdpHolePunch(socket: Socket, localPort: number, remotePort: number, remoteAddress: string, lifetimeSeconds: number): void; export declare function bindProxyPorts(remotePort: number, remoteAddress: string, type: 'audio' | 'video', sipSession: SipSession): Promise<{ ssrcPromise: Promise; localPort: number; }>; export declare function doesFfmpegSupportCodec(codec: string): Promise;