import { z } from 'zod'; export declare const DEVICE_UI_JWT_TYPE: "device-ui"; export declare const DEVICE_UI_JWT_AUDIENCE: "tx5dr-device-ui"; export declare const DeviceUiJwtPayloadSchema: z.ZodObject<{ typ: z.ZodLiteral<"device-ui">; aud: z.ZodLiteral<"tx5dr-device-ui">; deviceId: z.ZodString; sessionId: z.ZodString; iat: z.ZodNumber; exp: z.ZodNumber; }, "strip", z.ZodTypeAny, { deviceId: string; iat: number; exp: number; sessionId: string; typ: "device-ui"; aud: "tx5dr-device-ui"; }, { deviceId: string; iat: number; exp: number; sessionId: string; typ: "device-ui"; aud: "tx5dr-device-ui"; }>; export type DeviceUiJwtPayload = z.infer; export declare const DeviceUiSessionRequestSchema: z.ZodObject<{ deviceId: z.ZodString; sessionToken: z.ZodString; }, "strip", z.ZodTypeAny, { deviceId: string; sessionToken: string; }, { deviceId: string; sessionToken: string; }>; export type DeviceUiSessionRequest = z.infer; export declare const DeviceUiSessionResponseSchema: z.ZodObject<{ jwt: z.ZodString; deviceId: z.ZodString; sessionId: z.ZodString; expiresAt: z.ZodNumber; }, "strip", z.ZodTypeAny, { deviceId: string; jwt: string; expiresAt: number; sessionId: string; }, { deviceId: string; jwt: string; expiresAt: number; sessionId: string; }>; export type DeviceUiSessionResponse = z.infer; export declare const DeviceUiAuthSessionStateSchema: z.ZodObject<{ sessionId: z.ZodString; deviceId: z.ZodString; createdAt: z.ZodNumber; expiresAt: z.ZodNumber; lastVerifiedAt: z.ZodOptional; revoked: z.ZodOptional; }, "strip", z.ZodTypeAny, { deviceId: string; createdAt: number; expiresAt: number; sessionId: string; revoked?: boolean | undefined; lastVerifiedAt?: number | undefined; }, { deviceId: string; createdAt: number; expiresAt: number; sessionId: string; revoked?: boolean | undefined; lastVerifiedAt?: number | undefined; }>; export type DeviceUiAuthSessionState = z.infer; export declare const DeviceUiAuthStateSchema: z.ZodObject<{ jwtSecret: z.ZodString; sessions: z.ZodDefault; revoked: z.ZodOptional; }, "strip", z.ZodTypeAny, { deviceId: string; createdAt: number; expiresAt: number; sessionId: string; revoked?: boolean | undefined; lastVerifiedAt?: number | undefined; }, { deviceId: string; createdAt: number; expiresAt: number; sessionId: string; revoked?: boolean | undefined; lastVerifiedAt?: number | undefined; }>, "many">>; updatedAt: z.ZodOptional; }, "strip", z.ZodTypeAny, { jwtSecret: string; sessions: { deviceId: string; createdAt: number; expiresAt: number; sessionId: string; revoked?: boolean | undefined; lastVerifiedAt?: number | undefined; }[]; updatedAt?: number | undefined; }, { jwtSecret: string; updatedAt?: number | undefined; sessions?: { deviceId: string; createdAt: number; expiresAt: number; sessionId: string; revoked?: boolean | undefined; lastVerifiedAt?: number | undefined; }[] | undefined; }>; export type DeviceUiAuthState = z.infer; export declare const DeviceUiFrameSnapshotSchema: z.ZodObject<{ slotId: z.ZodOptional>; slotStartMs: z.ZodOptional>; snr: z.ZodNullable; freq: z.ZodNullable; dt: z.ZodNullable; message: z.ZodString; operatorId: z.ZodNullable; country: z.ZodOptional>; countryZh: z.ZodOptional>; countryEn: z.ZodOptional>; countryCode: z.ZodOptional>; }, "strip", z.ZodTypeAny, { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }, { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }>; export declare const DeviceUiCurrentTxSnapshotSchema: z.ZodObject<{ active: z.ZodBoolean; operatorIds: z.ZodArray; messages: z.ZodArray; lastMessage: z.ZodNullable; slotStartMs: z.ZodNullable; }, "strip", z.ZodTypeAny, { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }, { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }>; export declare const DeviceUiOperatorSnapshotSchema: z.ZodObject<{ id: z.ZodString; callsign: z.ZodString; active: z.ZodBoolean; transmitting: z.ZodBoolean; ptt: z.ZodBoolean; }, "strip", z.ZodTypeAny, { id: string; active: boolean; callsign: string; transmitting: boolean; ptt: boolean; }, { id: string; active: boolean; callsign: string; transmitting: boolean; ptt: boolean; }>; export declare const DeviceUiCwSnapshotSchema: z.ZodObject<{ decoder: z.ZodObject<{ enabled: z.ZodBoolean; active: z.ZodBoolean; state: z.ZodString; muted: z.ZodBoolean; pendingText: z.ZodString; committedText: z.ZodString; lastDecodeAt: z.ZodNullable; updatedAt: z.ZodNumber; }, "strip", z.ZodTypeAny, { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }, { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }>; keyer: z.ZodObject<{ active: z.ZodBoolean; mode: z.ZodNullable; messageId: z.ZodNullable; currentText: z.ZodNullable; lastText: z.ZodNullable; }, "strip", z.ZodTypeAny, { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }, { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }>; currentTx: z.ZodObject<{ active: z.ZodBoolean; messages: z.ZodArray; lastMessage: z.ZodNullable; }, "strip", z.ZodTypeAny, { active: boolean; lastMessage: string | null; messages: string[]; }, { active: boolean; lastMessage: string | null; messages: string[]; }>; }, "strip", z.ZodTypeAny, { decoder: { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }; keyer: { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }; currentTx: { active: boolean; lastMessage: string | null; messages: string[]; }; }, { decoder: { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }; keyer: { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }; currentTx: { active: boolean; lastMessage: string | null; messages: string[]; }; }>; export declare const DeviceUiBootstrapSnapshotSchema: z.ZodObject<{ server: z.ZodObject<{ status: z.ZodLiteral<"ok">; version: z.ZodString; webPort: z.ZodNullable; }, "strip", z.ZodTypeAny, { status: "ok"; version: string; webPort: number | null; }, { status: "ok"; version: string; webPort: number | null; }>; station: z.ZodObject<{ callsign: z.ZodNullable; callsigns: z.ZodDefault>; }, "strip", z.ZodTypeAny, { callsign: string | null; callsigns: string[]; }, { callsign: string | null; callsigns?: string[] | undefined; }>; operators: z.ZodDefault, "many">>; engine: z.ZodObject<{ running: z.ZodBoolean; mode: z.ZodNullable; currentMode: z.ZodNullable; }, "strip", z.ZodTypeAny, { name: string; slotMs?: number | undefined; }, { name: string; slotMs?: number | undefined; }>>; state: z.ZodNullable; }, "strip", z.ZodTypeAny, { mode: string | null; state: string | null; running: boolean; currentMode: { name: string; slotMs?: number | undefined; } | null; }, { mode: string | null; state: string | null; running: boolean; currentMode: { name: string; slotMs?: number | undefined; } | null; }>; radio: z.ZodObject<{ connected: z.ZodBoolean; frequency: z.ZodNullable; radioMode: z.ZodNullable; ptt: z.ZodBoolean; tx: z.ZodBoolean; }, "strip", z.ZodTypeAny, { frequency: number | null; radioMode: string | null; connected: boolean; ptt: boolean; tx: boolean; }, { frequency: number | null; radioMode: string | null; connected: boolean; ptt: boolean; tx: boolean; }>; ft8: z.ZodObject<{ slot: z.ZodNullable; cycleNumber: z.ZodNumber; utcSeconds: z.ZodNumber; mode: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; }, { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; }>>; utc: z.ZodNullable; cycle: z.ZodNullable; periodMs: z.ZodNullable; recentDecodeRawMessages: z.ZodArray; lastDecodeRawMessage: z.ZodNullable; recentFramesSlotId: z.ZodNullable; recentFramesSlotStartMs: z.ZodNullable; recentFrames: z.ZodArray>; slotStartMs: z.ZodOptional>; snr: z.ZodNullable; freq: z.ZodNullable; dt: z.ZodNullable; message: z.ZodString; operatorId: z.ZodNullable; country: z.ZodOptional>; countryZh: z.ZodOptional>; countryEn: z.ZodOptional>; countryCode: z.ZodOptional>; }, "strip", z.ZodTypeAny, { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }, { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }>, "many">; currentTx: z.ZodObject<{ active: z.ZodBoolean; operatorIds: z.ZodArray; messages: z.ZodArray; lastMessage: z.ZodNullable; slotStartMs: z.ZodNullable; }, "strip", z.ZodTypeAny, { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }, { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }>; }, "strip", z.ZodTypeAny, { cycle: number | null; slot: { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; } | null; currentTx: { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }; utc: number | null; periodMs: number | null; recentDecodeRawMessages: string[]; lastDecodeRawMessage: string | null; recentFramesSlotId: string | null; recentFramesSlotStartMs: number | null; recentFrames: { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }[]; }, { cycle: number | null; slot: { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; } | null; currentTx: { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }; utc: number | null; periodMs: number | null; recentDecodeRawMessages: string[]; lastDecodeRawMessage: string | null; recentFramesSlotId: string | null; recentFramesSlotStartMs: number | null; recentFrames: { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }[]; }>; voice: z.ZodObject<{ active: z.ZodBoolean; radioMode: z.ZodNullable; pttLocked: z.ZodBoolean; pttLockedByLabel: z.ZodNullable; keyerActive: z.ZodBoolean; keyerMode: z.ZodNullable; keyerSlotId: z.ZodNullable; }, "strip", z.ZodTypeAny, { active: boolean; radioMode: string | null; pttLocked: boolean; pttLockedByLabel: string | null; keyerActive: boolean; keyerMode: string | null; keyerSlotId: string | null; }, { active: boolean; radioMode: string | null; pttLocked: boolean; pttLockedByLabel: string | null; keyerActive: boolean; keyerMode: string | null; keyerSlotId: string | null; }>; cw: z.ZodObject<{ decoder: z.ZodObject<{ enabled: z.ZodBoolean; active: z.ZodBoolean; state: z.ZodString; muted: z.ZodBoolean; pendingText: z.ZodString; committedText: z.ZodString; lastDecodeAt: z.ZodNullable; updatedAt: z.ZodNumber; }, "strip", z.ZodTypeAny, { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }, { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }>; keyer: z.ZodObject<{ active: z.ZodBoolean; mode: z.ZodNullable; messageId: z.ZodNullable; currentText: z.ZodNullable; lastText: z.ZodNullable; }, "strip", z.ZodTypeAny, { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }, { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }>; currentTx: z.ZodObject<{ active: z.ZodBoolean; messages: z.ZodArray; lastMessage: z.ZodNullable; }, "strip", z.ZodTypeAny, { active: boolean; lastMessage: string | null; messages: string[]; }, { active: boolean; lastMessage: string | null; messages: string[]; }>; }, "strip", z.ZodTypeAny, { decoder: { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }; keyer: { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }; currentTx: { active: boolean; lastMessage: string | null; messages: string[]; }; }, { decoder: { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }; keyer: { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }; currentTx: { active: boolean; lastMessage: string | null; messages: string[]; }; }>; access: z.ZodObject<{ localUrl: z.ZodNullable; localUrls: z.ZodArray; }, "strip", z.ZodTypeAny, { localUrl: string | null; localUrls: string[]; }, { localUrl: string | null; localUrls: string[]; }>; updatedAt: z.ZodNumber; }, "strip", z.ZodTypeAny, { ft8: { cycle: number | null; slot: { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; } | null; currentTx: { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }; utc: number | null; periodMs: number | null; recentDecodeRawMessages: string[]; lastDecodeRawMessage: string | null; recentFramesSlotId: string | null; recentFramesSlotStartMs: number | null; recentFrames: { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }[]; }; server: { status: "ok"; version: string; webPort: number | null; }; voice: { active: boolean; radioMode: string | null; pttLocked: boolean; pttLockedByLabel: string | null; keyerActive: boolean; keyerMode: string | null; keyerSlotId: string | null; }; radio: { frequency: number | null; radioMode: string | null; connected: boolean; ptt: boolean; tx: boolean; }; updatedAt: number; engine: { mode: string | null; state: string | null; running: boolean; currentMode: { name: string; slotMs?: number | undefined; } | null; }; cw: { decoder: { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }; keyer: { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }; currentTx: { active: boolean; lastMessage: string | null; messages: string[]; }; }; station: { callsign: string | null; callsigns: string[]; }; operators: { id: string; active: boolean; callsign: string; transmitting: boolean; ptt: boolean; }[]; access: { localUrl: string | null; localUrls: string[]; }; }, { ft8: { cycle: number | null; slot: { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; } | null; currentTx: { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }; utc: number | null; periodMs: number | null; recentDecodeRawMessages: string[]; lastDecodeRawMessage: string | null; recentFramesSlotId: string | null; recentFramesSlotStartMs: number | null; recentFrames: { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }[]; }; server: { status: "ok"; version: string; webPort: number | null; }; voice: { active: boolean; radioMode: string | null; pttLocked: boolean; pttLockedByLabel: string | null; keyerActive: boolean; keyerMode: string | null; keyerSlotId: string | null; }; radio: { frequency: number | null; radioMode: string | null; connected: boolean; ptt: boolean; tx: boolean; }; updatedAt: number; engine: { mode: string | null; state: string | null; running: boolean; currentMode: { name: string; slotMs?: number | undefined; } | null; }; cw: { decoder: { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }; keyer: { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }; currentTx: { active: boolean; lastMessage: string | null; messages: string[]; }; }; station: { callsign: string | null; callsigns?: string[] | undefined; }; access: { localUrl: string | null; localUrls: string[]; }; operators?: { id: string; active: boolean; callsign: string; transmitting: boolean; ptt: boolean; }[] | undefined; }>; export type DeviceUiBootstrapSnapshot = z.infer; export declare const DeviceUiWsEventSchema: z.ZodObject<{ type: z.ZodLiteral<"snapshot">; payload: z.ZodObject<{ server: z.ZodObject<{ status: z.ZodLiteral<"ok">; version: z.ZodString; webPort: z.ZodNullable; }, "strip", z.ZodTypeAny, { status: "ok"; version: string; webPort: number | null; }, { status: "ok"; version: string; webPort: number | null; }>; station: z.ZodObject<{ callsign: z.ZodNullable; callsigns: z.ZodDefault>; }, "strip", z.ZodTypeAny, { callsign: string | null; callsigns: string[]; }, { callsign: string | null; callsigns?: string[] | undefined; }>; operators: z.ZodDefault, "many">>; engine: z.ZodObject<{ running: z.ZodBoolean; mode: z.ZodNullable; currentMode: z.ZodNullable; }, "strip", z.ZodTypeAny, { name: string; slotMs?: number | undefined; }, { name: string; slotMs?: number | undefined; }>>; state: z.ZodNullable; }, "strip", z.ZodTypeAny, { mode: string | null; state: string | null; running: boolean; currentMode: { name: string; slotMs?: number | undefined; } | null; }, { mode: string | null; state: string | null; running: boolean; currentMode: { name: string; slotMs?: number | undefined; } | null; }>; radio: z.ZodObject<{ connected: z.ZodBoolean; frequency: z.ZodNullable; radioMode: z.ZodNullable; ptt: z.ZodBoolean; tx: z.ZodBoolean; }, "strip", z.ZodTypeAny, { frequency: number | null; radioMode: string | null; connected: boolean; ptt: boolean; tx: boolean; }, { frequency: number | null; radioMode: string | null; connected: boolean; ptt: boolean; tx: boolean; }>; ft8: z.ZodObject<{ slot: z.ZodNullable; cycleNumber: z.ZodNumber; utcSeconds: z.ZodNumber; mode: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; }, { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; }>>; utc: z.ZodNullable; cycle: z.ZodNullable; periodMs: z.ZodNullable; recentDecodeRawMessages: z.ZodArray; lastDecodeRawMessage: z.ZodNullable; recentFramesSlotId: z.ZodNullable; recentFramesSlotStartMs: z.ZodNullable; recentFrames: z.ZodArray>; slotStartMs: z.ZodOptional>; snr: z.ZodNullable; freq: z.ZodNullable; dt: z.ZodNullable; message: z.ZodString; operatorId: z.ZodNullable; country: z.ZodOptional>; countryZh: z.ZodOptional>; countryEn: z.ZodOptional>; countryCode: z.ZodOptional>; }, "strip", z.ZodTypeAny, { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }, { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }>, "many">; currentTx: z.ZodObject<{ active: z.ZodBoolean; operatorIds: z.ZodArray; messages: z.ZodArray; lastMessage: z.ZodNullable; slotStartMs: z.ZodNullable; }, "strip", z.ZodTypeAny, { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }, { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }>; }, "strip", z.ZodTypeAny, { cycle: number | null; slot: { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; } | null; currentTx: { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }; utc: number | null; periodMs: number | null; recentDecodeRawMessages: string[]; lastDecodeRawMessage: string | null; recentFramesSlotId: string | null; recentFramesSlotStartMs: number | null; recentFrames: { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }[]; }, { cycle: number | null; slot: { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; } | null; currentTx: { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }; utc: number | null; periodMs: number | null; recentDecodeRawMessages: string[]; lastDecodeRawMessage: string | null; recentFramesSlotId: string | null; recentFramesSlotStartMs: number | null; recentFrames: { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }[]; }>; voice: z.ZodObject<{ active: z.ZodBoolean; radioMode: z.ZodNullable; pttLocked: z.ZodBoolean; pttLockedByLabel: z.ZodNullable; keyerActive: z.ZodBoolean; keyerMode: z.ZodNullable; keyerSlotId: z.ZodNullable; }, "strip", z.ZodTypeAny, { active: boolean; radioMode: string | null; pttLocked: boolean; pttLockedByLabel: string | null; keyerActive: boolean; keyerMode: string | null; keyerSlotId: string | null; }, { active: boolean; radioMode: string | null; pttLocked: boolean; pttLockedByLabel: string | null; keyerActive: boolean; keyerMode: string | null; keyerSlotId: string | null; }>; cw: z.ZodObject<{ decoder: z.ZodObject<{ enabled: z.ZodBoolean; active: z.ZodBoolean; state: z.ZodString; muted: z.ZodBoolean; pendingText: z.ZodString; committedText: z.ZodString; lastDecodeAt: z.ZodNullable; updatedAt: z.ZodNumber; }, "strip", z.ZodTypeAny, { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }, { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }>; keyer: z.ZodObject<{ active: z.ZodBoolean; mode: z.ZodNullable; messageId: z.ZodNullable; currentText: z.ZodNullable; lastText: z.ZodNullable; }, "strip", z.ZodTypeAny, { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }, { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }>; currentTx: z.ZodObject<{ active: z.ZodBoolean; messages: z.ZodArray; lastMessage: z.ZodNullable; }, "strip", z.ZodTypeAny, { active: boolean; lastMessage: string | null; messages: string[]; }, { active: boolean; lastMessage: string | null; messages: string[]; }>; }, "strip", z.ZodTypeAny, { decoder: { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }; keyer: { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }; currentTx: { active: boolean; lastMessage: string | null; messages: string[]; }; }, { decoder: { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }; keyer: { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }; currentTx: { active: boolean; lastMessage: string | null; messages: string[]; }; }>; access: z.ZodObject<{ localUrl: z.ZodNullable; localUrls: z.ZodArray; }, "strip", z.ZodTypeAny, { localUrl: string | null; localUrls: string[]; }, { localUrl: string | null; localUrls: string[]; }>; updatedAt: z.ZodNumber; }, "strip", z.ZodTypeAny, { ft8: { cycle: number | null; slot: { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; } | null; currentTx: { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }; utc: number | null; periodMs: number | null; recentDecodeRawMessages: string[]; lastDecodeRawMessage: string | null; recentFramesSlotId: string | null; recentFramesSlotStartMs: number | null; recentFrames: { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }[]; }; server: { status: "ok"; version: string; webPort: number | null; }; voice: { active: boolean; radioMode: string | null; pttLocked: boolean; pttLockedByLabel: string | null; keyerActive: boolean; keyerMode: string | null; keyerSlotId: string | null; }; radio: { frequency: number | null; radioMode: string | null; connected: boolean; ptt: boolean; tx: boolean; }; updatedAt: number; engine: { mode: string | null; state: string | null; running: boolean; currentMode: { name: string; slotMs?: number | undefined; } | null; }; cw: { decoder: { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }; keyer: { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }; currentTx: { active: boolean; lastMessage: string | null; messages: string[]; }; }; station: { callsign: string | null; callsigns: string[]; }; operators: { id: string; active: boolean; callsign: string; transmitting: boolean; ptt: boolean; }[]; access: { localUrl: string | null; localUrls: string[]; }; }, { ft8: { cycle: number | null; slot: { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; } | null; currentTx: { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }; utc: number | null; periodMs: number | null; recentDecodeRawMessages: string[]; lastDecodeRawMessage: string | null; recentFramesSlotId: string | null; recentFramesSlotStartMs: number | null; recentFrames: { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }[]; }; server: { status: "ok"; version: string; webPort: number | null; }; voice: { active: boolean; radioMode: string | null; pttLocked: boolean; pttLockedByLabel: string | null; keyerActive: boolean; keyerMode: string | null; keyerSlotId: string | null; }; radio: { frequency: number | null; radioMode: string | null; connected: boolean; ptt: boolean; tx: boolean; }; updatedAt: number; engine: { mode: string | null; state: string | null; running: boolean; currentMode: { name: string; slotMs?: number | undefined; } | null; }; cw: { decoder: { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }; keyer: { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }; currentTx: { active: boolean; lastMessage: string | null; messages: string[]; }; }; station: { callsign: string | null; callsigns?: string[] | undefined; }; access: { localUrl: string | null; localUrls: string[]; }; operators?: { id: string; active: boolean; callsign: string; transmitting: boolean; ptt: boolean; }[] | undefined; }>; timestamp: z.ZodString; }, "strip", z.ZodTypeAny, { type: "snapshot"; timestamp: string; payload: { ft8: { cycle: number | null; slot: { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; } | null; currentTx: { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }; utc: number | null; periodMs: number | null; recentDecodeRawMessages: string[]; lastDecodeRawMessage: string | null; recentFramesSlotId: string | null; recentFramesSlotStartMs: number | null; recentFrames: { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }[]; }; server: { status: "ok"; version: string; webPort: number | null; }; voice: { active: boolean; radioMode: string | null; pttLocked: boolean; pttLockedByLabel: string | null; keyerActive: boolean; keyerMode: string | null; keyerSlotId: string | null; }; radio: { frequency: number | null; radioMode: string | null; connected: boolean; ptt: boolean; tx: boolean; }; updatedAt: number; engine: { mode: string | null; state: string | null; running: boolean; currentMode: { name: string; slotMs?: number | undefined; } | null; }; cw: { decoder: { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }; keyer: { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }; currentTx: { active: boolean; lastMessage: string | null; messages: string[]; }; }; station: { callsign: string | null; callsigns: string[]; }; operators: { id: string; active: boolean; callsign: string; transmitting: boolean; ptt: boolean; }[]; access: { localUrl: string | null; localUrls: string[]; }; }; }, { type: "snapshot"; timestamp: string; payload: { ft8: { cycle: number | null; slot: { id: string; mode: string; startMs: number; phaseMs: number; cycleNumber: number; utcSeconds: number; driftMs?: number | undefined; } | null; currentTx: { active: boolean; operatorIds: string[]; slotStartMs: number | null; lastMessage: string | null; messages: string[]; }; utc: number | null; periodMs: number | null; recentDecodeRawMessages: string[]; lastDecodeRawMessage: string | null; recentFramesSlotId: string | null; recentFramesSlotStartMs: number | null; recentFrames: { message: string; operatorId: string | null; snr: number | null; freq: number | null; dt: number | null; countryCode?: string | null | undefined; slotId?: string | null | undefined; slotStartMs?: number | null | undefined; country?: string | null | undefined; countryZh?: string | null | undefined; countryEn?: string | null | undefined; }[]; }; server: { status: "ok"; version: string; webPort: number | null; }; voice: { active: boolean; radioMode: string | null; pttLocked: boolean; pttLockedByLabel: string | null; keyerActive: boolean; keyerMode: string | null; keyerSlotId: string | null; }; radio: { frequency: number | null; radioMode: string | null; connected: boolean; ptt: boolean; tx: boolean; }; updatedAt: number; engine: { mode: string | null; state: string | null; running: boolean; currentMode: { name: string; slotMs?: number | undefined; } | null; }; cw: { decoder: { active: boolean; state: string; enabled: boolean; updatedAt: number; muted: boolean; lastDecodeAt: number | null; pendingText: string; committedText: string; }; keyer: { active: boolean; mode: string | null; messageId: string | null; currentText: string | null; lastText: string | null; }; currentTx: { active: boolean; lastMessage: string | null; messages: string[]; }; }; station: { callsign: string | null; callsigns?: string[] | undefined; }; access: { localUrl: string | null; localUrls: string[]; }; operators?: { id: string; active: boolean; callsign: string; transmitting: boolean; ptt: boolean; }[] | undefined; }; }>; export type DeviceUiWsEvent = z.infer; //# sourceMappingURL=device-ui.schema.d.ts.map