/** * ICE Configuration Types and Presets * * Provides typed ICE server presets for common WebRTC configurations. */ /** * Available ICE server preset names */ export type IceServerPreset = 'rondevu' | 'rondevu-relay' | 'rondevu-ipv4' | 'rondevu-ipv4-relay' | 'google-stun' | 'public-stun'; /** * ICE preset configuration containing servers and optional transport policy. * The iceTransportPolicy belongs on RTCConfiguration, not RTCIceServer. */ export interface IcePresetConfig { iceServers: RTCIceServer[]; iceTransportPolicy?: RTCIceTransportPolicy; } /** * Pre-configured ICE server presets. * * - `rondevu`: Official Rondevu TURN/STUN servers (recommended) * - `rondevu-relay`: Same as rondevu but forces relay mode (hides client IPs) * - `rondevu-ipv4`: Direct IPv4 address (for networks with DNS issues) * - `rondevu-ipv4-relay`: IPv4 with forced relay mode * - `google-stun`: Google's free STUN servers (no relay, direct connections only) * - `public-stun`: Multiple public STUN servers for redundancy */ export declare const ICE_SERVER_PRESETS: Record; /** * Get the full RTCConfiguration for a preset or custom ICE servers. * * @param iceServers - Either a preset name or custom ICE servers array * @returns Partial RTCConfiguration with iceServers and optional iceTransportPolicy */ export declare function getIceConfiguration(iceServers?: IceServerPreset | RTCIceServer[]): Pick;