///
import { Socket } from 'dgram';
import { SipSession } from './sip-session';
export interface SrtpOptions {
srtpKey: Buffer;
srtpSalt: Buffer;
}
export declare function getPublicIpViaStun(): Promise;
export declare function getPublicIp(): Promise;
export declare function reservePorts(count?: number): Promise;
export declare function releasePort(port: number): void;
export declare function getSsrc(message: Buffer): number | null;
export declare function generateSsrc(): number;
export declare function getSrtpValue({ srtpKey, srtpSalt }: Partial): string;
export declare function bindToRandomPort(socket: Socket): 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;