import { z } from 'zod'; export declare const RealtimeScopeSchema: z.ZodEnum<["radio", "openwebrx-preview"]>; export type RealtimeScope = z.infer; export declare const RealtimeTransportKindSchema: z.ZodEnum<["rtc-data-audio", "ws-compat"]>; export type RealtimeTransportKind = z.infer; export declare const RealtimeSessionDirectionSchema: z.ZodEnum<["recv", "send"]>; export type RealtimeSessionDirection = z.infer; export declare const RealtimeAudioCodecSchema: z.ZodEnum<["opus", "pcm-s16le"]>; export type RealtimeAudioCodec = z.infer; export declare const RealtimeAudioCodecPreferenceSchema: z.ZodEnum<["auto", "opus", "pcm"]>; export type RealtimeAudioCodecPreference = z.infer; export declare const DEFAULT_REALTIME_AUDIO_CODEC_PREFERENCE: RealtimeAudioCodecPreference; export declare const RealtimeAudioCodecCapabilitiesSchema: z.ZodOptional; decode: z.ZodOptional; sampleRates: z.ZodOptional>; encodeSampleRates: z.ZodOptional>; decodeSampleRates: z.ZodOptional>; }, "strip", z.ZodTypeAny, { sampleRates?: number[] | undefined; encode?: boolean | undefined; decode?: boolean | undefined; encodeSampleRates?: number[] | undefined; decodeSampleRates?: number[] | undefined; }, { sampleRates?: number[] | undefined; encode?: boolean | undefined; decode?: boolean | undefined; encodeSampleRates?: number[] | undefined; decodeSampleRates?: number[] | undefined; }>>; pcmS16le: z.ZodOptional; }, "strip", z.ZodTypeAny, { opus?: { sampleRates?: number[] | undefined; encode?: boolean | undefined; decode?: boolean | undefined; encodeSampleRates?: number[] | undefined; decodeSampleRates?: number[] | undefined; } | undefined; pcmS16le?: boolean | undefined; }, { opus?: { sampleRates?: number[] | undefined; encode?: boolean | undefined; decode?: boolean | undefined; encodeSampleRates?: number[] | undefined; decodeSampleRates?: number[] | undefined; } | undefined; pcmS16le?: boolean | undefined; }>>; export type RealtimeAudioCodecCapabilities = z.infer; export declare const ResolvedRealtimeAudioCodecPolicySchema: z.ZodObject<{ preference: z.ZodEnum<["auto", "opus", "pcm"]>; resolvedCodec: z.ZodEnum<["opus", "pcm-s16le"]>; fallbackReason: z.ZodNullable>; codecSampleRate: z.ZodNullable; bitrateBps: z.ZodNullable; frameDurationMs: z.ZodNullable; }, "strip", z.ZodTypeAny, { preference: "pcm" | "auto" | "opus"; resolvedCodec: "opus" | "pcm-s16le"; fallbackReason: "not-needed" | "client-forced-pcm" | "client-opus-unavailable" | "server-opus-unavailable" | "scope-not-supported" | null; codecSampleRate: number | null; bitrateBps: number | null; frameDurationMs: number | null; }, { preference: "pcm" | "auto" | "opus"; resolvedCodec: "opus" | "pcm-s16le"; fallbackReason: "not-needed" | "client-forced-pcm" | "client-opus-unavailable" | "server-opus-unavailable" | "scope-not-supported" | null; codecSampleRate: number | null; bitrateBps: number | null; frameDurationMs: number | null; }>; export type ResolvedRealtimeAudioCodecPolicy = z.infer; export declare const VoiceTxBufferProfileSchema: z.ZodEnum<["auto", "custom"]>; export type VoiceTxBufferProfile = z.infer; export declare const VoiceTxCustomTargetBufferMsSchema: z.ZodEffects, number | undefined, unknown>; export declare const VoiceTxBufferPreferenceSchema: z.ZodEffects>; customTargetBufferMs: z.ZodEffects, number | undefined, unknown>; }, "strip", z.ZodTypeAny, { profile: "custom" | "auto"; customTargetBufferMs?: number | undefined; }, { profile?: "custom" | "auto" | undefined; customTargetBufferMs?: unknown; }>, { profile: "custom" | "auto"; customTargetBufferMs?: number | undefined; }, unknown>, { profile: "custom" | "auto"; customTargetBufferMs?: number | undefined; }, unknown>; export type VoiceTxBufferPreference = z.infer; export declare const ResolvedVoiceTxBufferPolicySchema: z.ZodObject<{ profile: z.ZodEnum<["auto", "custom"]>; targetMs: z.ZodNumber; minMs: z.ZodNumber; maxMs: z.ZodNumber; headroomMs: z.ZodNumber; staleFrameMs: z.ZodNumber; uplinkMaxBufferedAudioMs: z.ZodNumber; uplinkDegradedBufferedAudioMs: z.ZodNumber; }, "strip", z.ZodTypeAny, { profile: "custom" | "auto"; targetMs: number; minMs: number; maxMs: number; headroomMs: number; staleFrameMs: number; uplinkMaxBufferedAudioMs: number; uplinkDegradedBufferedAudioMs: number; }, { profile: "custom" | "auto"; targetMs: number; minMs: number; maxMs: number; headroomMs: number; staleFrameMs: number; uplinkMaxBufferedAudioMs: number; uplinkDegradedBufferedAudioMs: number; }>; export type ResolvedVoiceTxBufferPolicy = z.infer; export declare const DEFAULT_VOICE_TX_BUFFER_PROFILE: VoiceTxBufferProfile; export declare function resolveVoiceTxBufferPolicy(preference?: VoiceTxBufferPreference | null): ResolvedVoiceTxBufferPolicy; export declare const RealtimeConnectivityErrorCodeSchema: z.ZodEnum<["TOKEN_REQUEST_FAILED", "SIGNALING_UNREACHABLE", "PUBLIC_URL_MISCONFIGURED", "ICE_CONNECTION_FAILED", "NO_AUDIO_TRACK", "AUDIO_PLAYBACK_BLOCKED", "SESSION_EXPIRED_OR_INVALID", "MEDIA_DEVICE_PERMISSION_DENIED", "UNKNOWN_REALTIME_ERROR"]>; export type RealtimeConnectivityErrorCode = z.infer; export declare const RealtimeConnectivityHintsSchema: z.ZodObject<{ signalingUrl: z.ZodString; localUdpPort: z.ZodNumber; publicCandidateEnabled: z.ZodBoolean; publicEndpoint: z.ZodNullable>; iceServers: z.ZodArray; fallbackTransport: z.ZodLiteral<"ws-compat">; }, "strip", z.ZodTypeAny, { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }, { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }>; export type RealtimeConnectivityHints = z.infer; export declare const RealtimeConnectivityIssueSchema: z.ZodObject<{ code: z.ZodEnum<["TOKEN_REQUEST_FAILED", "SIGNALING_UNREACHABLE", "PUBLIC_URL_MISCONFIGURED", "ICE_CONNECTION_FAILED", "NO_AUDIO_TRACK", "AUDIO_PLAYBACK_BLOCKED", "SESSION_EXPIRED_OR_INVALID", "MEDIA_DEVICE_PERMISSION_DENIED", "UNKNOWN_REALTIME_ERROR"]>; scope: z.ZodEnum<["radio", "openwebrx-preview"]>; stage: z.ZodEnum<["token", "connect", "publish", "subscribe", "runtime"]>; userMessage: z.ZodString; suggestions: z.ZodArray; technicalDetails: z.ZodOptional; context: z.ZodOptional>; }, "strip", z.ZodTypeAny, { code: "TOKEN_REQUEST_FAILED" | "SIGNALING_UNREACHABLE" | "PUBLIC_URL_MISCONFIGURED" | "ICE_CONNECTION_FAILED" | "NO_AUDIO_TRACK" | "AUDIO_PLAYBACK_BLOCKED" | "SESSION_EXPIRED_OR_INVALID" | "MEDIA_DEVICE_PERMISSION_DENIED" | "UNKNOWN_REALTIME_ERROR"; scope: "radio" | "openwebrx-preview"; stage: "runtime" | "token" | "connect" | "publish" | "subscribe"; userMessage: string; suggestions: string[]; technicalDetails?: string | undefined; context?: Record | undefined; }, { code: "TOKEN_REQUEST_FAILED" | "SIGNALING_UNREACHABLE" | "PUBLIC_URL_MISCONFIGURED" | "ICE_CONNECTION_FAILED" | "NO_AUDIO_TRACK" | "AUDIO_PLAYBACK_BLOCKED" | "SESSION_EXPIRED_OR_INVALID" | "MEDIA_DEVICE_PERMISSION_DENIED" | "UNKNOWN_REALTIME_ERROR"; scope: "radio" | "openwebrx-preview"; stage: "runtime" | "token" | "connect" | "publish" | "subscribe"; userMessage: string; suggestions: string[]; technicalDetails?: string | undefined; context?: Record | undefined; }>; export type RealtimeConnectivityIssue = z.infer; export declare const RealtimeSessionRequestSchema: z.ZodObject<{ scope: z.ZodEnum<["radio", "openwebrx-preview"]>; direction: z.ZodEnum<["recv", "send"]>; previewSessionId: z.ZodOptional; transportOverride: z.ZodOptional>; voiceTxBufferPreference: z.ZodOptional>; customTargetBufferMs: z.ZodEffects, number | undefined, unknown>; }, "strip", z.ZodTypeAny, { profile: "custom" | "auto"; customTargetBufferMs?: number | undefined; }, { profile?: "custom" | "auto" | undefined; customTargetBufferMs?: unknown; }>, { profile: "custom" | "auto"; customTargetBufferMs?: number | undefined; }, unknown>, { profile: "custom" | "auto"; customTargetBufferMs?: number | undefined; }, unknown>>; audioCodecPreference: z.ZodDefault>; audioCodecCapabilities: z.ZodOptional; decode: z.ZodOptional; sampleRates: z.ZodOptional>; encodeSampleRates: z.ZodOptional>; decodeSampleRates: z.ZodOptional>; }, "strip", z.ZodTypeAny, { sampleRates?: number[] | undefined; encode?: boolean | undefined; decode?: boolean | undefined; encodeSampleRates?: number[] | undefined; decodeSampleRates?: number[] | undefined; }, { sampleRates?: number[] | undefined; encode?: boolean | undefined; decode?: boolean | undefined; encodeSampleRates?: number[] | undefined; decodeSampleRates?: number[] | undefined; }>>; pcmS16le: z.ZodOptional; }, "strip", z.ZodTypeAny, { opus?: { sampleRates?: number[] | undefined; encode?: boolean | undefined; decode?: boolean | undefined; encodeSampleRates?: number[] | undefined; decodeSampleRates?: number[] | undefined; } | undefined; pcmS16le?: boolean | undefined; }, { opus?: { sampleRates?: number[] | undefined; encode?: boolean | undefined; decode?: boolean | undefined; encodeSampleRates?: number[] | undefined; decodeSampleRates?: number[] | undefined; } | undefined; pcmS16le?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { scope: "radio" | "openwebrx-preview"; direction: "recv" | "send"; audioCodecPreference: "pcm" | "auto" | "opus"; previewSessionId?: string | undefined; transportOverride?: "rtc-data-audio" | "ws-compat" | undefined; voiceTxBufferPreference?: { profile: "custom" | "auto"; customTargetBufferMs?: number | undefined; } | undefined; audioCodecCapabilities?: { opus?: { sampleRates?: number[] | undefined; encode?: boolean | undefined; decode?: boolean | undefined; encodeSampleRates?: number[] | undefined; decodeSampleRates?: number[] | undefined; } | undefined; pcmS16le?: boolean | undefined; } | undefined; }, { scope: "radio" | "openwebrx-preview"; direction: "recv" | "send"; previewSessionId?: string | undefined; transportOverride?: "rtc-data-audio" | "ws-compat" | undefined; voiceTxBufferPreference?: unknown; audioCodecPreference?: "pcm" | "auto" | "opus" | undefined; audioCodecCapabilities?: { opus?: { sampleRates?: number[] | undefined; encode?: boolean | undefined; decode?: boolean | undefined; encodeSampleRates?: number[] | undefined; decodeSampleRates?: number[] | undefined; } | undefined; pcmS16le?: boolean | undefined; } | undefined; }>; export type RealtimeSessionRequest = z.infer; export declare const RealtimeTransportOfferSchema: z.ZodObject<{ transport: z.ZodEnum<["rtc-data-audio", "ws-compat"]>; direction: z.ZodEnum<["recv", "send"]>; url: z.ZodString; token: z.ZodString; participantIdentity: z.ZodOptional>; participantName: z.ZodOptional>; }, "strip", z.ZodTypeAny, { url: string; token: string; direction: "recv" | "send"; transport: "rtc-data-audio" | "ws-compat"; participantIdentity?: string | null | undefined; participantName?: string | null | undefined; }, { url: string; token: string; direction: "recv" | "send"; transport: "rtc-data-audio" | "ws-compat"; participantIdentity?: string | null | undefined; participantName?: string | null | undefined; }>; export type RealtimeTransportOffer = z.infer; export declare const RealtimeTransportPolicySchema: z.ZodEnum<["auto", "force-compat"]>; export type RealtimeTransportPolicy = z.infer; export declare const RtcDataAudioPublicHostSchema: z.ZodEffects, null, "">, z.ZodEffects, z.ZodNull]>, string | null, unknown>; export type RtcDataAudioPublicHost = z.infer; export declare const RtcDataAudioPublicUdpPortSchema: z.ZodEffects, number | null, unknown>; export type RtcDataAudioPublicUdpPort = z.infer; export declare const RealtimeSessionResponseSchema: z.ZodObject<{ scope: z.ZodEnum<["radio", "openwebrx-preview"]>; direction: z.ZodEnum<["recv", "send"]>; preferredTransport: z.ZodEnum<["rtc-data-audio", "ws-compat"]>; effectiveTransportPolicy: z.ZodEnum<["auto", "force-compat"]>; selectionReason: z.ZodEnum<["client-override", "server-policy", "default-rtc-data-audio", "rtc-data-audio-unavailable"]>; forcedCompatibilityMode: z.ZodBoolean; offers: z.ZodArray; direction: z.ZodEnum<["recv", "send"]>; url: z.ZodString; token: z.ZodString; participantIdentity: z.ZodOptional>; participantName: z.ZodOptional>; }, "strip", z.ZodTypeAny, { url: string; token: string; direction: "recv" | "send"; transport: "rtc-data-audio" | "ws-compat"; participantIdentity?: string | null | undefined; participantName?: string | null | undefined; }, { url: string; token: string; direction: "recv" | "send"; transport: "rtc-data-audio" | "ws-compat"; participantIdentity?: string | null | undefined; participantName?: string | null | undefined; }>, "many">; connectivityHints: z.ZodObject<{ signalingUrl: z.ZodString; localUdpPort: z.ZodNumber; publicCandidateEnabled: z.ZodBoolean; publicEndpoint: z.ZodNullable>; iceServers: z.ZodArray; fallbackTransport: z.ZodLiteral<"ws-compat">; }, "strip", z.ZodTypeAny, { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }, { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }>; voiceTxBufferPolicy: z.ZodOptional; targetMs: z.ZodNumber; minMs: z.ZodNumber; maxMs: z.ZodNumber; headroomMs: z.ZodNumber; staleFrameMs: z.ZodNumber; uplinkMaxBufferedAudioMs: z.ZodNumber; uplinkDegradedBufferedAudioMs: z.ZodNumber; }, "strip", z.ZodTypeAny, { profile: "custom" | "auto"; targetMs: number; minMs: number; maxMs: number; headroomMs: number; staleFrameMs: number; uplinkMaxBufferedAudioMs: number; uplinkDegradedBufferedAudioMs: number; }, { profile: "custom" | "auto"; targetMs: number; minMs: number; maxMs: number; headroomMs: number; staleFrameMs: number; uplinkMaxBufferedAudioMs: number; uplinkDegradedBufferedAudioMs: number; }>>; audioCodecPolicy: z.ZodObject<{ preference: z.ZodEnum<["auto", "opus", "pcm"]>; resolvedCodec: z.ZodEnum<["opus", "pcm-s16le"]>; fallbackReason: z.ZodNullable>; codecSampleRate: z.ZodNullable; bitrateBps: z.ZodNullable; frameDurationMs: z.ZodNullable; }, "strip", z.ZodTypeAny, { preference: "pcm" | "auto" | "opus"; resolvedCodec: "opus" | "pcm-s16le"; fallbackReason: "not-needed" | "client-forced-pcm" | "client-opus-unavailable" | "server-opus-unavailable" | "scope-not-supported" | null; codecSampleRate: number | null; bitrateBps: number | null; frameDurationMs: number | null; }, { preference: "pcm" | "auto" | "opus"; resolvedCodec: "opus" | "pcm-s16le"; fallbackReason: "not-needed" | "client-forced-pcm" | "client-opus-unavailable" | "server-opus-unavailable" | "scope-not-supported" | null; codecSampleRate: number | null; bitrateBps: number | null; frameDurationMs: number | null; }>; }, "strip", z.ZodTypeAny, { scope: "radio" | "openwebrx-preview"; direction: "recv" | "send"; preferredTransport: "rtc-data-audio" | "ws-compat"; effectiveTransportPolicy: "auto" | "force-compat"; selectionReason: "client-override" | "server-policy" | "default-rtc-data-audio" | "rtc-data-audio-unavailable"; forcedCompatibilityMode: boolean; offers: { url: string; token: string; direction: "recv" | "send"; transport: "rtc-data-audio" | "ws-compat"; participantIdentity?: string | null | undefined; participantName?: string | null | undefined; }[]; connectivityHints: { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }; audioCodecPolicy: { preference: "pcm" | "auto" | "opus"; resolvedCodec: "opus" | "pcm-s16le"; fallbackReason: "not-needed" | "client-forced-pcm" | "client-opus-unavailable" | "server-opus-unavailable" | "scope-not-supported" | null; codecSampleRate: number | null; bitrateBps: number | null; frameDurationMs: number | null; }; voiceTxBufferPolicy?: { profile: "custom" | "auto"; targetMs: number; minMs: number; maxMs: number; headroomMs: number; staleFrameMs: number; uplinkMaxBufferedAudioMs: number; uplinkDegradedBufferedAudioMs: number; } | undefined; }, { scope: "radio" | "openwebrx-preview"; direction: "recv" | "send"; preferredTransport: "rtc-data-audio" | "ws-compat"; effectiveTransportPolicy: "auto" | "force-compat"; selectionReason: "client-override" | "server-policy" | "default-rtc-data-audio" | "rtc-data-audio-unavailable"; forcedCompatibilityMode: boolean; offers: { url: string; token: string; direction: "recv" | "send"; transport: "rtc-data-audio" | "ws-compat"; participantIdentity?: string | null | undefined; participantName?: string | null | undefined; }[]; connectivityHints: { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }; audioCodecPolicy: { preference: "pcm" | "auto" | "opus"; resolvedCodec: "opus" | "pcm-s16le"; fallbackReason: "not-needed" | "client-forced-pcm" | "client-opus-unavailable" | "server-opus-unavailable" | "scope-not-supported" | null; codecSampleRate: number | null; bitrateBps: number | null; frameDurationMs: number | null; }; voiceTxBufferPolicy?: { profile: "custom" | "auto"; targetMs: number; minMs: number; maxMs: number; headroomMs: number; staleFrameMs: number; uplinkMaxBufferedAudioMs: number; uplinkDegradedBufferedAudioMs: number; } | undefined; }>; export type RealtimeSessionResponse = z.infer; export declare const RealtimeSettingsSchema: z.ZodObject<{ transportPolicy: z.ZodOptional>; rtcDataAudioPublicHost: z.ZodOptional, null, "">, z.ZodEffects, z.ZodNull]>, string | null, unknown>>; rtcDataAudioPublicUdpPort: z.ZodOptional, number | null, unknown>>; }, "strip", z.ZodTypeAny, { transportPolicy?: "auto" | "force-compat" | undefined; rtcDataAudioPublicHost?: string | null | undefined; rtcDataAudioPublicUdpPort?: number | null | undefined; }, { transportPolicy?: "auto" | "force-compat" | undefined; rtcDataAudioPublicHost?: unknown; rtcDataAudioPublicUdpPort?: unknown; }>; export type RealtimeSettings = z.infer; export declare const RealtimeRtcDataAudioRuntimeSchema: z.ZodObject<{ localUdpPort: z.ZodNumber; publicCandidateEnabled: z.ZodBoolean; publicEndpoint: z.ZodNullable>; }, "strip", z.ZodTypeAny, { localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; }, { localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; }>; export type RealtimeRtcDataAudioRuntime = z.infer; export declare const RealtimeSettingsRuntimeSchema: z.ZodObject<{ connectivityHints: z.ZodObject<{ signalingUrl: z.ZodString; localUdpPort: z.ZodNumber; publicCandidateEnabled: z.ZodBoolean; publicEndpoint: z.ZodNullable>; iceServers: z.ZodArray; fallbackTransport: z.ZodLiteral<"ws-compat">; }, "strip", z.ZodTypeAny, { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }, { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }>; radioReceiveTransport: z.ZodEnum<["rtc-data-audio", "ws-compat"]>; rtcDataAudio: z.ZodObject<{ localUdpPort: z.ZodNumber; publicCandidateEnabled: z.ZodBoolean; publicEndpoint: z.ZodNullable>; }, "strip", z.ZodTypeAny, { localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; }, { localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; }>; }, "strip", z.ZodTypeAny, { connectivityHints: { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }; radioReceiveTransport: "rtc-data-audio" | "ws-compat"; rtcDataAudio: { localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; }; }, { connectivityHints: { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }; radioReceiveTransport: "rtc-data-audio" | "ws-compat"; rtcDataAudio: { localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; }; }>; export type RealtimeSettingsRuntime = z.infer; export declare const RealtimeSettingsResponseDataSchema: z.ZodObject<{ transportPolicy: z.ZodOptional>; rtcDataAudioPublicHost: z.ZodOptional, null, "">, z.ZodEffects, z.ZodNull]>, string | null, unknown>>; rtcDataAudioPublicUdpPort: z.ZodOptional, number | null, unknown>>; } & { runtime: z.ZodOptional>; iceServers: z.ZodArray; fallbackTransport: z.ZodLiteral<"ws-compat">; }, "strip", z.ZodTypeAny, { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }, { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }>; radioReceiveTransport: z.ZodEnum<["rtc-data-audio", "ws-compat"]>; rtcDataAudio: z.ZodObject<{ localUdpPort: z.ZodNumber; publicCandidateEnabled: z.ZodBoolean; publicEndpoint: z.ZodNullable>; }, "strip", z.ZodTypeAny, { localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; }, { localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; }>; }, "strip", z.ZodTypeAny, { connectivityHints: { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }; radioReceiveTransport: "rtc-data-audio" | "ws-compat"; rtcDataAudio: { localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; }; }, { connectivityHints: { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }; radioReceiveTransport: "rtc-data-audio" | "ws-compat"; rtcDataAudio: { localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; }; }>>; }, "strip", z.ZodTypeAny, { runtime?: { connectivityHints: { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }; radioReceiveTransport: "rtc-data-audio" | "ws-compat"; rtcDataAudio: { localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; }; } | undefined; transportPolicy?: "auto" | "force-compat" | undefined; rtcDataAudioPublicHost?: string | null | undefined; rtcDataAudioPublicUdpPort?: number | null | undefined; }, { runtime?: { connectivityHints: { signalingUrl: string; localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; iceServers: string[]; fallbackTransport: "ws-compat"; }; radioReceiveTransport: "rtc-data-audio" | "ws-compat"; rtcDataAudio: { localUdpPort: number; publicCandidateEnabled: boolean; publicEndpoint: { host: string; port: number; } | null; }; } | undefined; transportPolicy?: "auto" | "force-compat" | undefined; rtcDataAudioPublicHost?: unknown; rtcDataAudioPublicUdpPort?: unknown; }>; export type RealtimeSettingsResponseData = z.infer; export declare const RealtimeSourceStatsSchema: z.ZodObject<{ latencyMs: z.ZodNumber; bufferFillPercent: z.ZodNumber; isActive: z.ZodBoolean; audioLevel: z.ZodOptional; droppedSamples: z.ZodOptional; sampleRate: z.ZodNumber; }, "strip", z.ZodTypeAny, { sampleRate: number; isActive: boolean; latencyMs: number; bufferFillPercent: number; audioLevel?: number | undefined; droppedSamples?: number | undefined; }, { sampleRate: number; isActive: boolean; latencyMs: number; bufferFillPercent: number; audioLevel?: number | undefined; droppedSamples?: number | undefined; }>; export type RealtimeSourceStats = z.infer; export declare const RealtimeStatsRequestSchema: z.ZodObject<{ scope: z.ZodEnum<["radio", "openwebrx-preview"]>; previewSessionId: z.ZodOptional; }, "strip", z.ZodTypeAny, { scope: "radio" | "openwebrx-preview"; previewSessionId?: string | undefined; }, { scope: "radio" | "openwebrx-preview"; previewSessionId?: string | undefined; }>; export type RealtimeStatsRequest = z.infer; export declare const RealtimeStatsResponseSchema: z.ZodObject<{ scope: z.ZodEnum<["radio", "openwebrx-preview"]>; previewSessionId: z.ZodOptional>; source: z.ZodNullable; droppedSamples: z.ZodOptional; sampleRate: z.ZodNumber; }, "strip", z.ZodTypeAny, { sampleRate: number; isActive: boolean; latencyMs: number; bufferFillPercent: number; audioLevel?: number | undefined; droppedSamples?: number | undefined; }, { sampleRate: number; isActive: boolean; latencyMs: number; bufferFillPercent: number; audioLevel?: number | undefined; droppedSamples?: number | undefined; }>>; transport: z.ZodOptional>>; }, "strip", z.ZodTypeAny, { scope: "radio" | "openwebrx-preview"; source: { sampleRate: number; isActive: boolean; latencyMs: number; bufferFillPercent: number; audioLevel?: number | undefined; droppedSamples?: number | undefined; } | null; previewSessionId?: string | null | undefined; transport?: "rtc-data-audio" | "ws-compat" | null | undefined; }, { scope: "radio" | "openwebrx-preview"; source: { sampleRate: number; isActive: boolean; latencyMs: number; bufferFillPercent: number; audioLevel?: number | undefined; droppedSamples?: number | undefined; } | null; previewSessionId?: string | null | undefined; transport?: "rtc-data-audio" | "ws-compat" | null | undefined; }>; export type RealtimeStatsResponse = z.infer; export declare const RealtimeVoiceTxMetricWindowSchema: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; export type RealtimeVoiceTxMetricWindow = z.infer; export declare const RealtimeVoiceTxBottleneckStageSchema: z.ZodEnum<["client-capture", "transport", "server-ingress", "server-queue", "server-output"]>; export type RealtimeVoiceTxBottleneckStage = z.infer; export declare const RealtimeVoiceTxSummarySchema: z.ZodObject<{ active: z.ZodBoolean; transport: z.ZodNullable>; bottleneckStage: z.ZodNullable>; startedAt: z.ZodNullable; updatedAt: z.ZodNullable; clientId: z.ZodNullable; label: z.ZodNullable; }, "strip", z.ZodTypeAny, { active: boolean; label: string | null; updatedAt: number | null; startedAt: number | null; transport: "rtc-data-audio" | "ws-compat" | null; bottleneckStage: "transport" | "client-capture" | "server-ingress" | "server-queue" | "server-output" | null; clientId: string | null; }, { active: boolean; label: string | null; updatedAt: number | null; startedAt: number | null; transport: "rtc-data-audio" | "ws-compat" | null; bottleneckStage: "transport" | "client-capture" | "server-ingress" | "server-queue" | "server-output" | null; clientId: string | null; }>; export type RealtimeVoiceTxSummary = z.infer; export declare const RealtimeVoiceTxTransportStatsSchema: z.ZodObject<{ receivedFrames: z.ZodNumber; sequenceGaps: z.ZodNumber; lastSequence: z.ZodNullable; clientToServerMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; }, "strip", z.ZodTypeAny, { receivedFrames: number; sequenceGaps: number; lastSequence: number | null; clientToServerMs: { current: number | null; rolling: number | null; peak: number | null; }; }, { receivedFrames: number; sequenceGaps: number; lastSequence: number | null; clientToServerMs: { current: number | null; rolling: number | null; peak: number | null; }; }>; export type RealtimeVoiceTxTransportStats = z.infer; export declare const RealtimeVoiceTxServerIngressStatsSchema: z.ZodObject<{ frameIntervalMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; queueDepthFrames: z.ZodNumber; queuedAudioMs: z.ZodNumber; droppedFrames: z.ZodNumber; staleDroppedFrames: z.ZodNumber; underrunCount: z.ZodNumber; plcFrames: z.ZodNumber; jitterTargetMs: z.ZodNumber; }, "strip", z.ZodTypeAny, { frameIntervalMs: { current: number | null; rolling: number | null; peak: number | null; }; queueDepthFrames: number; queuedAudioMs: number; droppedFrames: number; staleDroppedFrames: number; underrunCount: number; plcFrames: number; jitterTargetMs: number; }, { frameIntervalMs: { current: number | null; rolling: number | null; peak: number | null; }; queueDepthFrames: number; queuedAudioMs: number; droppedFrames: number; staleDroppedFrames: number; underrunCount: number; plcFrames: number; jitterTargetMs: number; }>; export type RealtimeVoiceTxServerIngressStats = z.infer; export declare const RealtimeVoiceTxServerOutputStatsSchema: z.ZodObject<{ resampleMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; queueWaitMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; writeMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; serverPipelineMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; endToEndMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; outputBufferedMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; outputWriteIntervalMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; outputSampleRate: z.ZodNullable; outputBufferSize: z.ZodNullable; writeFailures: z.ZodNumber; }, "strip", z.ZodTypeAny, { outputSampleRate: number | null; outputBufferSize: number | null; resampleMs: { current: number | null; rolling: number | null; peak: number | null; }; queueWaitMs: { current: number | null; rolling: number | null; peak: number | null; }; writeMs: { current: number | null; rolling: number | null; peak: number | null; }; serverPipelineMs: { current: number | null; rolling: number | null; peak: number | null; }; endToEndMs: { current: number | null; rolling: number | null; peak: number | null; }; outputBufferedMs: { current: number | null; rolling: number | null; peak: number | null; }; outputWriteIntervalMs: { current: number | null; rolling: number | null; peak: number | null; }; writeFailures: number; }, { outputSampleRate: number | null; outputBufferSize: number | null; resampleMs: { current: number | null; rolling: number | null; peak: number | null; }; queueWaitMs: { current: number | null; rolling: number | null; peak: number | null; }; writeMs: { current: number | null; rolling: number | null; peak: number | null; }; serverPipelineMs: { current: number | null; rolling: number | null; peak: number | null; }; endToEndMs: { current: number | null; rolling: number | null; peak: number | null; }; outputBufferedMs: { current: number | null; rolling: number | null; peak: number | null; }; outputWriteIntervalMs: { current: number | null; rolling: number | null; peak: number | null; }; writeFailures: number; }>; export type RealtimeVoiceTxServerOutputStats = z.infer; export declare const RealtimeVoiceTxStatsResponseSchema: z.ZodObject<{ scope: z.ZodEnum<["radio", "openwebrx-preview"]>; summary: z.ZodObject<{ active: z.ZodBoolean; transport: z.ZodNullable>; bottleneckStage: z.ZodNullable>; startedAt: z.ZodNullable; updatedAt: z.ZodNullable; clientId: z.ZodNullable; label: z.ZodNullable; }, "strip", z.ZodTypeAny, { active: boolean; label: string | null; updatedAt: number | null; startedAt: number | null; transport: "rtc-data-audio" | "ws-compat" | null; bottleneckStage: "transport" | "client-capture" | "server-ingress" | "server-queue" | "server-output" | null; clientId: string | null; }, { active: boolean; label: string | null; updatedAt: number | null; startedAt: number | null; transport: "rtc-data-audio" | "ws-compat" | null; bottleneckStage: "transport" | "client-capture" | "server-ingress" | "server-queue" | "server-output" | null; clientId: string | null; }>; transport: z.ZodObject<{ receivedFrames: z.ZodNumber; sequenceGaps: z.ZodNumber; lastSequence: z.ZodNullable; clientToServerMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; }, "strip", z.ZodTypeAny, { receivedFrames: number; sequenceGaps: number; lastSequence: number | null; clientToServerMs: { current: number | null; rolling: number | null; peak: number | null; }; }, { receivedFrames: number; sequenceGaps: number; lastSequence: number | null; clientToServerMs: { current: number | null; rolling: number | null; peak: number | null; }; }>; serverIngress: z.ZodObject<{ frameIntervalMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; queueDepthFrames: z.ZodNumber; queuedAudioMs: z.ZodNumber; droppedFrames: z.ZodNumber; staleDroppedFrames: z.ZodNumber; underrunCount: z.ZodNumber; plcFrames: z.ZodNumber; jitterTargetMs: z.ZodNumber; }, "strip", z.ZodTypeAny, { frameIntervalMs: { current: number | null; rolling: number | null; peak: number | null; }; queueDepthFrames: number; queuedAudioMs: number; droppedFrames: number; staleDroppedFrames: number; underrunCount: number; plcFrames: number; jitterTargetMs: number; }, { frameIntervalMs: { current: number | null; rolling: number | null; peak: number | null; }; queueDepthFrames: number; queuedAudioMs: number; droppedFrames: number; staleDroppedFrames: number; underrunCount: number; plcFrames: number; jitterTargetMs: number; }>; serverOutput: z.ZodObject<{ resampleMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; queueWaitMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; writeMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; serverPipelineMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; endToEndMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; outputBufferedMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; outputWriteIntervalMs: z.ZodObject<{ current: z.ZodNullable; rolling: z.ZodNullable; peak: z.ZodNullable; }, "strip", z.ZodTypeAny, { current: number | null; rolling: number | null; peak: number | null; }, { current: number | null; rolling: number | null; peak: number | null; }>; outputSampleRate: z.ZodNullable; outputBufferSize: z.ZodNullable; writeFailures: z.ZodNumber; }, "strip", z.ZodTypeAny, { outputSampleRate: number | null; outputBufferSize: number | null; resampleMs: { current: number | null; rolling: number | null; peak: number | null; }; queueWaitMs: { current: number | null; rolling: number | null; peak: number | null; }; writeMs: { current: number | null; rolling: number | null; peak: number | null; }; serverPipelineMs: { current: number | null; rolling: number | null; peak: number | null; }; endToEndMs: { current: number | null; rolling: number | null; peak: number | null; }; outputBufferedMs: { current: number | null; rolling: number | null; peak: number | null; }; outputWriteIntervalMs: { current: number | null; rolling: number | null; peak: number | null; }; writeFailures: number; }, { outputSampleRate: number | null; outputBufferSize: number | null; resampleMs: { current: number | null; rolling: number | null; peak: number | null; }; queueWaitMs: { current: number | null; rolling: number | null; peak: number | null; }; writeMs: { current: number | null; rolling: number | null; peak: number | null; }; serverPipelineMs: { current: number | null; rolling: number | null; peak: number | null; }; endToEndMs: { current: number | null; rolling: number | null; peak: number | null; }; outputBufferedMs: { current: number | null; rolling: number | null; peak: number | null; }; outputWriteIntervalMs: { current: number | null; rolling: number | null; peak: number | null; }; writeFailures: number; }>; }, "strip", z.ZodTypeAny, { summary: { active: boolean; label: string | null; updatedAt: number | null; startedAt: number | null; transport: "rtc-data-audio" | "ws-compat" | null; bottleneckStage: "transport" | "client-capture" | "server-ingress" | "server-queue" | "server-output" | null; clientId: string | null; }; scope: "radio" | "openwebrx-preview"; transport: { receivedFrames: number; sequenceGaps: number; lastSequence: number | null; clientToServerMs: { current: number | null; rolling: number | null; peak: number | null; }; }; serverIngress: { frameIntervalMs: { current: number | null; rolling: number | null; peak: number | null; }; queueDepthFrames: number; queuedAudioMs: number; droppedFrames: number; staleDroppedFrames: number; underrunCount: number; plcFrames: number; jitterTargetMs: number; }; serverOutput: { outputSampleRate: number | null; outputBufferSize: number | null; resampleMs: { current: number | null; rolling: number | null; peak: number | null; }; queueWaitMs: { current: number | null; rolling: number | null; peak: number | null; }; writeMs: { current: number | null; rolling: number | null; peak: number | null; }; serverPipelineMs: { current: number | null; rolling: number | null; peak: number | null; }; endToEndMs: { current: number | null; rolling: number | null; peak: number | null; }; outputBufferedMs: { current: number | null; rolling: number | null; peak: number | null; }; outputWriteIntervalMs: { current: number | null; rolling: number | null; peak: number | null; }; writeFailures: number; }; }, { summary: { active: boolean; label: string | null; updatedAt: number | null; startedAt: number | null; transport: "rtc-data-audio" | "ws-compat" | null; bottleneckStage: "transport" | "client-capture" | "server-ingress" | "server-queue" | "server-output" | null; clientId: string | null; }; scope: "radio" | "openwebrx-preview"; transport: { receivedFrames: number; sequenceGaps: number; lastSequence: number | null; clientToServerMs: { current: number | null; rolling: number | null; peak: number | null; }; }; serverIngress: { frameIntervalMs: { current: number | null; rolling: number | null; peak: number | null; }; queueDepthFrames: number; queuedAudioMs: number; droppedFrames: number; staleDroppedFrames: number; underrunCount: number; plcFrames: number; jitterTargetMs: number; }; serverOutput: { outputSampleRate: number | null; outputBufferSize: number | null; resampleMs: { current: number | null; rolling: number | null; peak: number | null; }; queueWaitMs: { current: number | null; rolling: number | null; peak: number | null; }; writeMs: { current: number | null; rolling: number | null; peak: number | null; }; serverPipelineMs: { current: number | null; rolling: number | null; peak: number | null; }; endToEndMs: { current: number | null; rolling: number | null; peak: number | null; }; outputBufferedMs: { current: number | null; rolling: number | null; peak: number | null; }; outputWriteIntervalMs: { current: number | null; rolling: number | null; peak: number | null; }; writeFailures: number; }; }>; export type RealtimeVoiceTxStatsResponse = z.infer; //# sourceMappingURL=realtime.schema.d.ts.map