import { z } from 'zod'; export declare const SpectrumKindSchema: z.ZodEnum<["audio", "radio-sdr", "openwebrx-sdr"]>; export type SpectrumKind = z.infer; export declare const SpectrumDisplayModeSchema: z.ZodEnum<["center", "fixed", "scroll-center", "scroll-fixed", "unknown"]>; export type SpectrumDisplayMode = z.infer; export declare const SpectrumSessionSourceModeSchema: z.ZodEnum<["baseband", "center", "fixed", "scroll-center", "scroll-fixed", "full", "detail", "unknown"]>; export type SpectrumSessionSourceMode = z.infer; export declare const SpectrumSessionFrequencyRangeModeSchema: z.ZodEnum<["baseband", "absolute-center", "absolute-fixed", "absolute-windowed"]>; export type SpectrumSessionFrequencyRangeMode = z.infer; export declare const SpectrumFrequencyRangeSchema: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, "strip", z.ZodTypeAny, { min: number; max: number; }, { min: number; max: number; }>; export declare const SpectrumBinaryFormatSchema: z.ZodObject<{ type: z.ZodLiteral<"int16">; length: z.ZodNumber; scale: z.ZodOptional; offset: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "int16"; length: number; scale?: number | undefined; offset?: number | undefined; }, { type: "int16"; length: number; scale?: number | undefined; offset?: number | undefined; }>; export declare const SpectrumBinaryDataSchema: z.ZodObject<{ data: z.ZodString; format: z.ZodObject<{ type: z.ZodLiteral<"int16">; length: z.ZodNumber; scale: z.ZodOptional; offset: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "int16"; length: number; scale?: number | undefined; offset?: number | undefined; }, { type: "int16"; length: number; scale?: number | undefined; offset?: number | undefined; }>; }, "strip", z.ZodTypeAny, { data: string; format: { type: "int16"; length: number; scale?: number | undefined; offset?: number | undefined; }; }, { data: string; format: { type: "int16"; length: number; scale?: number | undefined; offset?: number | undefined; }; }>; export declare const SpectrumFrameMetaSchema: z.ZodObject<{ sourceBinCount: z.ZodNumber; displayBinCount: z.ZodNumber; centerFrequency: z.ZodOptional; spanHz: z.ZodOptional; profileId: z.ZodOptional>; radioModel: z.ZodOptional; }, "strip", z.ZodTypeAny, { sourceBinCount: number; displayBinCount: number; centerFrequency?: number | undefined; spanHz?: number | undefined; profileId?: string | null | undefined; radioModel?: string | undefined; }, { sourceBinCount: number; displayBinCount: number; centerFrequency?: number | undefined; spanHz?: number | undefined; profileId?: string | null | undefined; radioModel?: string | undefined; }>; export declare const SpectrumFrameSchema: z.ZodObject<{ timestamp: z.ZodNumber; kind: z.ZodEnum<["audio", "radio-sdr", "openwebrx-sdr"]>; frequencyRange: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, "strip", z.ZodTypeAny, { min: number; max: number; }, { min: number; max: number; }>; binaryData: z.ZodObject<{ data: z.ZodString; format: z.ZodObject<{ type: z.ZodLiteral<"int16">; length: z.ZodNumber; scale: z.ZodOptional; offset: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "int16"; length: number; scale?: number | undefined; offset?: number | undefined; }, { type: "int16"; length: number; scale?: number | undefined; offset?: number | undefined; }>; }, "strip", z.ZodTypeAny, { data: string; format: { type: "int16"; length: number; scale?: number | undefined; offset?: number | undefined; }; }, { data: string; format: { type: "int16"; length: number; scale?: number | undefined; offset?: number | undefined; }; }>; meta: z.ZodObject<{ sourceBinCount: z.ZodNumber; displayBinCount: z.ZodNumber; centerFrequency: z.ZodOptional; spanHz: z.ZodOptional; profileId: z.ZodOptional>; radioModel: z.ZodOptional; }, "strip", z.ZodTypeAny, { sourceBinCount: number; displayBinCount: number; centerFrequency?: number | undefined; spanHz?: number | undefined; profileId?: string | null | undefined; radioModel?: string | undefined; }, { sourceBinCount: number; displayBinCount: number; centerFrequency?: number | undefined; spanHz?: number | undefined; profileId?: string | null | undefined; radioModel?: string | undefined; }>; }, "strip", z.ZodTypeAny, { timestamp: number; frequencyRange: { min: number; max: number; }; binaryData: { data: string; format: { type: "int16"; length: number; scale?: number | undefined; offset?: number | undefined; }; }; kind: "audio" | "radio-sdr" | "openwebrx-sdr"; meta: { sourceBinCount: number; displayBinCount: number; centerFrequency?: number | undefined; spanHz?: number | undefined; profileId?: string | null | undefined; radioModel?: string | undefined; }; }, { timestamp: number; frequencyRange: { min: number; max: number; }; binaryData: { data: string; format: { type: "int16"; length: number; scale?: number | undefined; offset?: number | undefined; }; }; kind: "audio" | "radio-sdr" | "openwebrx-sdr"; meta: { sourceBinCount: number; displayBinCount: number; centerFrequency?: number | undefined; spanHz?: number | undefined; profileId?: string | null | undefined; radioModel?: string | undefined; }; }>; export declare const SpectrumSourceAvailabilitySchema: z.ZodObject<{ kind: z.ZodEnum<["audio", "radio-sdr", "openwebrx-sdr"]>; supported: z.ZodBoolean; available: z.ZodBoolean; defaultSelected: z.ZodBoolean; reason: z.ZodOptional; sourceBinCount: z.ZodOptional>; displayBinCount: z.ZodNumber; supportsWaterfall: z.ZodBoolean; frequencyRangeMode: z.ZodEnum<["absolute", "baseband"]>; }, "strip", z.ZodTypeAny, { available: boolean; displayBinCount: number; kind: "audio" | "radio-sdr" | "openwebrx-sdr"; supported: boolean; defaultSelected: boolean; supportsWaterfall: boolean; frequencyRangeMode: "baseband" | "absolute"; reason?: string | undefined; sourceBinCount?: number | null | undefined; }, { available: boolean; displayBinCount: number; kind: "audio" | "radio-sdr" | "openwebrx-sdr"; supported: boolean; defaultSelected: boolean; supportsWaterfall: boolean; frequencyRangeMode: "baseband" | "absolute"; reason?: string | undefined; sourceBinCount?: number | null | undefined; }>; export declare const SpectrumCapabilitiesSchema: z.ZodObject<{ profileId: z.ZodNullable; defaultKind: z.ZodEnum<["audio", "radio-sdr", "openwebrx-sdr"]>; sources: z.ZodArray; supported: z.ZodBoolean; available: z.ZodBoolean; defaultSelected: z.ZodBoolean; reason: z.ZodOptional; sourceBinCount: z.ZodOptional>; displayBinCount: z.ZodNumber; supportsWaterfall: z.ZodBoolean; frequencyRangeMode: z.ZodEnum<["absolute", "baseband"]>; }, "strip", z.ZodTypeAny, { available: boolean; displayBinCount: number; kind: "audio" | "radio-sdr" | "openwebrx-sdr"; supported: boolean; defaultSelected: boolean; supportsWaterfall: boolean; frequencyRangeMode: "baseband" | "absolute"; reason?: string | undefined; sourceBinCount?: number | null | undefined; }, { available: boolean; displayBinCount: number; kind: "audio" | "radio-sdr" | "openwebrx-sdr"; supported: boolean; defaultSelected: boolean; supportsWaterfall: boolean; frequencyRangeMode: "baseband" | "absolute"; reason?: string | undefined; sourceBinCount?: number | null | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { profileId: string | null; defaultKind: "audio" | "radio-sdr" | "openwebrx-sdr"; sources: { available: boolean; displayBinCount: number; kind: "audio" | "radio-sdr" | "openwebrx-sdr"; supported: boolean; defaultSelected: boolean; supportsWaterfall: boolean; frequencyRangeMode: "baseband" | "absolute"; reason?: string | undefined; sourceBinCount?: number | null | undefined; }[]; }, { profileId: string | null; defaultKind: "audio" | "radio-sdr" | "openwebrx-sdr"; sources: { available: boolean; displayBinCount: number; kind: "audio" | "radio-sdr" | "openwebrx-sdr"; supported: boolean; defaultSelected: boolean; supportsWaterfall: boolean; frequencyRangeMode: "baseband" | "absolute"; reason?: string | undefined; sourceBinCount?: number | null | undefined; }[]; }>; export declare const SpectrumSessionControlIdSchema: z.ZodEnum<["zoom-step", "digital-window-toggle", "openwebrx-detail-toggle", "viewport-zoom"]>; export type SpectrumSessionControlId = z.infer; export declare const SpectrumSessionControlActionSchema: z.ZodEnum<["in", "out", "toggle"]>; export type SpectrumSessionControlAction = z.infer; export declare const SpectrumSessionControlKindSchema: z.ZodEnum<["server", "local"]>; export type SpectrumSessionControlKind = z.infer; export declare const SpectrumSessionControlSchema: z.ZodObject<{ id: z.ZodEnum<["zoom-step", "digital-window-toggle", "openwebrx-detail-toggle", "viewport-zoom"]>; action: z.ZodEnum<["in", "out", "toggle"]>; kind: z.ZodEnum<["server", "local"]>; visible: z.ZodBoolean; enabled: z.ZodBoolean; active: z.ZodBoolean; pending: z.ZodBoolean; }, "strip", z.ZodTypeAny, { id: "zoom-step" | "digital-window-toggle" | "openwebrx-detail-toggle" | "viewport-zoom"; active: boolean; kind: "server" | "local"; action: "in" | "out" | "toggle"; visible: boolean; enabled: boolean; pending: boolean; }, { id: "zoom-step" | "digital-window-toggle" | "openwebrx-detail-toggle" | "viewport-zoom"; active: boolean; kind: "server" | "local"; action: "in" | "out" | "toggle"; visible: boolean; enabled: boolean; pending: boolean; }>; export type SpectrumSessionControl = z.infer; export declare const SpectrumSessionVoiceStateSchema: z.ZodObject<{ radioMode: z.ZodNullable; bandwidthLabel: z.ZodNullable; occupiedBandwidthHz: z.ZodNullable; offsetModel: z.ZodNullable>; }, "strip", z.ZodTypeAny, { radioMode: string | null; bandwidthLabel: string | null; occupiedBandwidthHz: number | null; offsetModel: "upper" | "lower" | "symmetric" | null; }, { radioMode: string | null; bandwidthLabel: string | null; occupiedBandwidthHz: number | null; offsetModel: "upper" | "lower" | "symmetric" | null; }>; export type SpectrumSessionVoiceState = z.infer; export declare const SpectrumSessionPresetMarkerSchema: z.ZodObject<{ id: z.ZodString; frequency: z.ZodNumber; label: z.ZodString; description: z.ZodNullable; clickable: z.ZodBoolean; }, "strip", z.ZodTypeAny, { id: string; frequency: number; description: string | null; label: string; clickable: boolean; }, { id: string; frequency: number; description: string | null; label: string; clickable: boolean; }>; export type SpectrumSessionPresetMarker = z.infer; export declare const SpectrumSessionInteractionStateSchema: z.ZodObject<{ showTxMarkers: z.ZodBoolean; showRxMarkers: z.ZodBoolean; canDragTx: z.ZodBoolean; canRightClickSetFrequency: z.ZodBoolean; canDoubleClickSetFrequency: z.ZodBoolean; canDragFrequency: z.ZodBoolean; frequencyGestureTarget: z.ZodNullable>; frequencyStepHz: z.ZodNullable; presetMarkers: z.ZodArray; clickable: z.ZodBoolean; }, "strip", z.ZodTypeAny, { id: string; frequency: number; description: string | null; label: string; clickable: boolean; }, { id: string; frequency: number; description: string | null; label: string; clickable: boolean; }>, "many">; canDragVoiceOverlay: z.ZodBoolean; showVoiceOverlay: z.ZodBoolean; canLocalViewportZoom: z.ZodBoolean; canLocalViewportPan: z.ZodBoolean; supportsManualRange: z.ZodBoolean; supportsAutoRange: z.ZodBoolean; defaultRangeMode: z.ZodNullable>; }, "strip", z.ZodTypeAny, { showTxMarkers: boolean; showRxMarkers: boolean; canDragTx: boolean; canRightClickSetFrequency: boolean; canDoubleClickSetFrequency: boolean; canDragFrequency: boolean; frequencyGestureTarget: "operator-tx" | "radio-frequency" | null; frequencyStepHz: number | null; presetMarkers: { id: string; frequency: number; description: string | null; label: string; clickable: boolean; }[]; canDragVoiceOverlay: boolean; showVoiceOverlay: boolean; canLocalViewportZoom: boolean; canLocalViewportPan: boolean; supportsManualRange: boolean; supportsAutoRange: boolean; defaultRangeMode: "manual" | "auto" | null; }, { showTxMarkers: boolean; showRxMarkers: boolean; canDragTx: boolean; canRightClickSetFrequency: boolean; canDoubleClickSetFrequency: boolean; canDragFrequency: boolean; frequencyGestureTarget: "operator-tx" | "radio-frequency" | null; frequencyStepHz: number | null; presetMarkers: { id: string; frequency: number; description: string | null; label: string; clickable: boolean; }[]; canDragVoiceOverlay: boolean; showVoiceOverlay: boolean; canLocalViewportZoom: boolean; canLocalViewportPan: boolean; supportsManualRange: boolean; supportsAutoRange: boolean; defaultRangeMode: "manual" | "auto" | null; }>; export type SpectrumSessionInteractionState = z.infer; export declare const SpectrumSessionStateSchema: z.ZodObject<{ kind: z.ZodNullable>; sourceMode: z.ZodEnum<["baseband", "center", "fixed", "scroll-center", "scroll-fixed", "full", "detail", "unknown"]>; frequencyRangeMode: z.ZodEnum<["baseband", "absolute-center", "absolute-fixed", "absolute-windowed"]>; displayRange: z.ZodNullable>; centerFrequency: z.ZodNullable; currentRadioFrequency: z.ZodNullable; standardFrequencyHz: z.ZodNullable; edgeLowHz: z.ZodNullable; edgeHighHz: z.ZodNullable; spanHz: z.ZodNullable; voice: z.ZodObject<{ radioMode: z.ZodNullable; bandwidthLabel: z.ZodNullable; occupiedBandwidthHz: z.ZodNullable; offsetModel: z.ZodNullable>; }, "strip", z.ZodTypeAny, { radioMode: string | null; bandwidthLabel: string | null; occupiedBandwidthHz: number | null; offsetModel: "upper" | "lower" | "symmetric" | null; }, { radioMode: string | null; bandwidthLabel: string | null; occupiedBandwidthHz: number | null; offsetModel: "upper" | "lower" | "symmetric" | null; }>; interaction: z.ZodObject<{ showTxMarkers: z.ZodBoolean; showRxMarkers: z.ZodBoolean; canDragTx: z.ZodBoolean; canRightClickSetFrequency: z.ZodBoolean; canDoubleClickSetFrequency: z.ZodBoolean; canDragFrequency: z.ZodBoolean; frequencyGestureTarget: z.ZodNullable>; frequencyStepHz: z.ZodNullable; presetMarkers: z.ZodArray; clickable: z.ZodBoolean; }, "strip", z.ZodTypeAny, { id: string; frequency: number; description: string | null; label: string; clickable: boolean; }, { id: string; frequency: number; description: string | null; label: string; clickable: boolean; }>, "many">; canDragVoiceOverlay: z.ZodBoolean; showVoiceOverlay: z.ZodBoolean; canLocalViewportZoom: z.ZodBoolean; canLocalViewportPan: z.ZodBoolean; supportsManualRange: z.ZodBoolean; supportsAutoRange: z.ZodBoolean; defaultRangeMode: z.ZodNullable>; }, "strip", z.ZodTypeAny, { showTxMarkers: boolean; showRxMarkers: boolean; canDragTx: boolean; canRightClickSetFrequency: boolean; canDoubleClickSetFrequency: boolean; canDragFrequency: boolean; frequencyGestureTarget: "operator-tx" | "radio-frequency" | null; frequencyStepHz: number | null; presetMarkers: { id: string; frequency: number; description: string | null; label: string; clickable: boolean; }[]; canDragVoiceOverlay: boolean; showVoiceOverlay: boolean; canLocalViewportZoom: boolean; canLocalViewportPan: boolean; supportsManualRange: boolean; supportsAutoRange: boolean; defaultRangeMode: "manual" | "auto" | null; }, { showTxMarkers: boolean; showRxMarkers: boolean; canDragTx: boolean; canRightClickSetFrequency: boolean; canDoubleClickSetFrequency: boolean; canDragFrequency: boolean; frequencyGestureTarget: "operator-tx" | "radio-frequency" | null; frequencyStepHz: number | null; presetMarkers: { id: string; frequency: number; description: string | null; label: string; clickable: boolean; }[]; canDragVoiceOverlay: boolean; showVoiceOverlay: boolean; canLocalViewportZoom: boolean; canLocalViewportPan: boolean; supportsManualRange: boolean; supportsAutoRange: boolean; defaultRangeMode: "manual" | "auto" | null; }>; controls: z.ZodArray; action: z.ZodEnum<["in", "out", "toggle"]>; kind: z.ZodEnum<["server", "local"]>; visible: z.ZodBoolean; enabled: z.ZodBoolean; active: z.ZodBoolean; pending: z.ZodBoolean; }, "strip", z.ZodTypeAny, { id: "zoom-step" | "digital-window-toggle" | "openwebrx-detail-toggle" | "viewport-zoom"; active: boolean; kind: "server" | "local"; action: "in" | "out" | "toggle"; visible: boolean; enabled: boolean; pending: boolean; }, { id: "zoom-step" | "digital-window-toggle" | "openwebrx-detail-toggle" | "viewport-zoom"; active: boolean; kind: "server" | "local"; action: "in" | "out" | "toggle"; visible: boolean; enabled: boolean; pending: boolean; }>, "many">; }, "strip", z.ZodTypeAny, { centerFrequency: number | null; spanHz: number | null; kind: "audio" | "radio-sdr" | "openwebrx-sdr" | null; frequencyRangeMode: "baseband" | "absolute-center" | "absolute-fixed" | "absolute-windowed"; sourceMode: "unknown" | "center" | "fixed" | "scroll-center" | "scroll-fixed" | "baseband" | "full" | "detail"; displayRange: { min: number; max: number; } | null; currentRadioFrequency: number | null; standardFrequencyHz: number | null; edgeLowHz: number | null; edgeHighHz: number | null; voice: { radioMode: string | null; bandwidthLabel: string | null; occupiedBandwidthHz: number | null; offsetModel: "upper" | "lower" | "symmetric" | null; }; interaction: { showTxMarkers: boolean; showRxMarkers: boolean; canDragTx: boolean; canRightClickSetFrequency: boolean; canDoubleClickSetFrequency: boolean; canDragFrequency: boolean; frequencyGestureTarget: "operator-tx" | "radio-frequency" | null; frequencyStepHz: number | null; presetMarkers: { id: string; frequency: number; description: string | null; label: string; clickable: boolean; }[]; canDragVoiceOverlay: boolean; showVoiceOverlay: boolean; canLocalViewportZoom: boolean; canLocalViewportPan: boolean; supportsManualRange: boolean; supportsAutoRange: boolean; defaultRangeMode: "manual" | "auto" | null; }; controls: { id: "zoom-step" | "digital-window-toggle" | "openwebrx-detail-toggle" | "viewport-zoom"; active: boolean; kind: "server" | "local"; action: "in" | "out" | "toggle"; visible: boolean; enabled: boolean; pending: boolean; }[]; }, { centerFrequency: number | null; spanHz: number | null; kind: "audio" | "radio-sdr" | "openwebrx-sdr" | null; frequencyRangeMode: "baseband" | "absolute-center" | "absolute-fixed" | "absolute-windowed"; sourceMode: "unknown" | "center" | "fixed" | "scroll-center" | "scroll-fixed" | "baseband" | "full" | "detail"; displayRange: { min: number; max: number; } | null; currentRadioFrequency: number | null; standardFrequencyHz: number | null; edgeLowHz: number | null; edgeHighHz: number | null; voice: { radioMode: string | null; bandwidthLabel: string | null; occupiedBandwidthHz: number | null; offsetModel: "upper" | "lower" | "symmetric" | null; }; interaction: { showTxMarkers: boolean; showRxMarkers: boolean; canDragTx: boolean; canRightClickSetFrequency: boolean; canDoubleClickSetFrequency: boolean; canDragFrequency: boolean; frequencyGestureTarget: "operator-tx" | "radio-frequency" | null; frequencyStepHz: number | null; presetMarkers: { id: string; frequency: number; description: string | null; label: string; clickable: boolean; }[]; canDragVoiceOverlay: boolean; showVoiceOverlay: boolean; canLocalViewportZoom: boolean; canLocalViewportPan: boolean; supportsManualRange: boolean; supportsAutoRange: boolean; defaultRangeMode: "manual" | "auto" | null; }; controls: { id: "zoom-step" | "digital-window-toggle" | "openwebrx-detail-toggle" | "viewport-zoom"; active: boolean; kind: "server" | "local"; action: "in" | "out" | "toggle"; visible: boolean; enabled: boolean; pending: boolean; }[]; }>; export type SpectrumSessionState = z.infer; export type SpectrumFrequencyRange = z.infer; export type SpectrumBinaryFormat = z.infer; export type SpectrumBinaryData = z.infer; export type SpectrumFrameMeta = z.infer; export type SpectrumFrame = z.infer; export type SpectrumSourceAvailability = z.infer; export type SpectrumCapabilities = z.infer; //# sourceMappingURL=spectrum.schema.d.ts.map