import { z } from 'zod'; /** * CW 键控器配置 */ export declare const CWKeyerBackendSchema: z.ZodEnum<["cat", "serial"]>; export type CWKeyerBackend = z.infer; export declare const CWKeyerConfigSchema: z.ZodObject<{ /** CW 发报后端:cat=Hamlib 整报文,serial=DTR/RTS 时序键控 */ backend: z.ZodDefault>; /** CW 键控串口路径(用于 DTR/RTS 引脚控制) */ keyPort: z.ZodString; /** CW 键控引脚类型 */ keyMethod: z.ZodEnum<["dtr", "rts"]>; /** 莫尔斯码速度 (WPM, 5-60) */ wpm: z.ZodDefault; }, "strip", z.ZodTypeAny, { backend: "serial" | "cat"; keyPort: string; keyMethod: "dtr" | "rts"; wpm: number; }, { keyPort: string; keyMethod: "dtr" | "rts"; backend?: "serial" | "cat" | undefined; wpm?: number | undefined; }>; export type CWKeyerConfig = z.infer; /** * CW 键控器状态 */ export declare const CWKeyerStatusSchema: z.ZodObject<{ /** 是否有活动键控 */ active: z.ZodBoolean; /** 当前状态模式 */ mode: z.ZodEnum<["idle", "keying", "playing", "repeat-waiting", "error"]>; /** 发起键控的客户端 ID */ startedBy: z.ZodNullable; /** 发起键控的客户端显示名 */ startedByLabel: z.ZodNullable; /** 当前播放的报文 ID */ messageId: z.ZodNullable; /** 下次执行时间戳 (repeat-waiting 时有效) */ nextRunAt: z.ZodNullable; /** 错误信息 */ error: z.ZodNullable; /** 当前 CW 发报后端 */ backend: z.ZodOptional>; /** 当前后端是否具备发报条件 */ backendAvailable: z.ZodOptional; /** 当前后端不可用原因 */ backendError: z.ZodOptional>; /** 当前正在发送的文本(只读状态字段) */ currentText: z.ZodOptional>; /** 最近一次发送的文本(只读状态字段) */ lastText: z.ZodOptional>; }, "strip", z.ZodTypeAny, { active: boolean; error: string | null; mode: "error" | "idle" | "playing" | "repeat-waiting" | "keying"; startedBy: string | null; startedByLabel: string | null; nextRunAt: number | null; messageId: string | null; backend?: "serial" | "cat" | undefined; backendAvailable?: boolean | undefined; backendError?: string | null | undefined; currentText?: string | null | undefined; lastText?: string | null | undefined; }, { active: boolean; error: string | null; mode: "error" | "idle" | "playing" | "repeat-waiting" | "keying"; startedBy: string | null; startedByLabel: string | null; nextRunAt: number | null; messageId: string | null; backend?: "serial" | "cat" | undefined; backendAvailable?: boolean | undefined; backendError?: string | null | undefined; currentText?: string | null | undefined; lastText?: string | null | undefined; }>; export type CWKeyerStatus = z.infer; /** * CW 报文槽位 */ export declare const CWMessageSlotSchema: z.ZodObject<{ /** 槽位唯一 ID */ id: z.ZodString; /** 显示序号 (1-based) */ index: z.ZodNumber; /** 报文标签 */ label: z.ZodString; /** 报文文本内容 */ text: z.ZodString; /** 是否启用循环播放 */ repeatEnabled: z.ZodBoolean; /** 循环播放间隔(秒) */ repeatIntervalSec: z.ZodNumber; }, "strip", z.ZodTypeAny, { id: string; label: string; index: number; repeatEnabled: boolean; repeatIntervalSec: number; text: string; }, { id: string; label: string; index: number; repeatEnabled: boolean; repeatIntervalSec: number; text: string; }>; export type CWMessageSlot = z.infer; /** * CW 报文面板 */ export declare const CWMessagePanelSchema: z.ZodObject<{ /** 呼号 */ callsign: z.ZodString; /** 当前槽位数 */ slotCount: z.ZodNumber; /** 最大槽位数 */ maxSlotCount: z.ZodNumber; /** 槽位列表 */ slots: z.ZodArray, "many">; }, "strip", z.ZodTypeAny, { callsign: string; slotCount: number; maxSlotCount: number; slots: { id: string; label: string; index: number; repeatEnabled: boolean; repeatIntervalSec: number; text: string; }[]; }, { callsign: string; slotCount: number; maxSlotCount: number; slots: { id: string; label: string; index: number; repeatEnabled: boolean; repeatIntervalSec: number; text: string; }[]; }>; export type CWMessagePanel = z.infer; /** * CW 手键动作 */ export declare const CWKeyActionSchema: z.ZodObject<{ /** 键控动作 */ action: z.ZodEnum<["key-down", "key-up"]>; }, "strip", z.ZodTypeAny, { action: "key-down" | "key-up"; }, { action: "key-down" | "key-up"; }>; export type CWKeyAction = z.infer; /** * CW 报文占位符值(由前端根据当前 UI 上下文提供) */ export declare const CWPlaceholderValuesSchema: z.ZodObject<{ /** 当前操作员呼号,用于 {MYCALL} */ myCall: z.ZodOptional; /** 当前通联对象呼号,用于 {HISCALL} */ hisCall: z.ZodOptional; /** 发送的 RST 信号报告,用于 {TRST} */ trst: z.ZodOptional; /** 接收的 RST 信号报告,用于 {RRST} */ rrst: z.ZodOptional; }, "strip", z.ZodTypeAny, { myCall?: string | undefined; hisCall?: string | undefined; trst?: string | undefined; rrst?: string | undefined; }, { myCall?: string | undefined; hisCall?: string | undefined; trst?: string | undefined; rrst?: string | undefined; }>; export type CWPlaceholderValues = z.infer; /** * CW 文字输入 */ export declare const CWTextInputSchema: z.ZodObject<{ /** 要发送的文字 */ text: z.ZodString; /** 操作员呼号,用于占位符替换(如 {MYCALL}) */ callsign: z.ZodOptional; /** 前端解析出的占位符值 */ placeholderValues: z.ZodOptional; /** 当前通联对象呼号,用于 {HISCALL} */ hisCall: z.ZodOptional; /** 发送的 RST 信号报告,用于 {TRST} */ trst: z.ZodOptional; /** 接收的 RST 信号报告,用于 {RRST} */ rrst: z.ZodOptional; }, "strip", z.ZodTypeAny, { myCall?: string | undefined; hisCall?: string | undefined; trst?: string | undefined; rrst?: string | undefined; }, { myCall?: string | undefined; hisCall?: string | undefined; trst?: string | undefined; rrst?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { text: string; callsign?: string | undefined; placeholderValues?: { myCall?: string | undefined; hisCall?: string | undefined; trst?: string | undefined; rrst?: string | undefined; } | undefined; }, { text: string; callsign?: string | undefined; placeholderValues?: { myCall?: string | undefined; hisCall?: string | undefined; trst?: string | undefined; rrst?: string | undefined; } | undefined; }>; export type CWTextInput = z.infer; /** * CW 播放预设报文请求 */ export declare const CWPlayMessageSchema: z.ZodObject<{ /** 呼号 */ callsign: z.ZodString; /** 报文槽位 ID */ slotId: z.ZodString; /** 是否循环播放 */ repeat: z.ZodDefault>; /** 是否立即发送;false 时仅进入循环等待 */ startImmediately: z.ZodOptional; /** 前端解析出的占位符值 */ placeholderValues: z.ZodOptional; /** 当前通联对象呼号,用于 {HISCALL} */ hisCall: z.ZodOptional; /** 发送的 RST 信号报告,用于 {TRST} */ trst: z.ZodOptional; /** 接收的 RST 信号报告,用于 {RRST} */ rrst: z.ZodOptional; }, "strip", z.ZodTypeAny, { myCall?: string | undefined; hisCall?: string | undefined; trst?: string | undefined; rrst?: string | undefined; }, { myCall?: string | undefined; hisCall?: string | undefined; trst?: string | undefined; rrst?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { callsign: string; slotId: string; repeat: boolean; startImmediately?: boolean | undefined; placeholderValues?: { myCall?: string | undefined; hisCall?: string | undefined; trst?: string | undefined; rrst?: string | undefined; } | undefined; }, { callsign: string; slotId: string; repeat?: boolean | undefined; startImmediately?: boolean | undefined; placeholderValues?: { myCall?: string | undefined; hisCall?: string | undefined; trst?: string | undefined; rrst?: string | undefined; } | undefined; }>; export type CWPlayMessage = z.infer; /** * CW 报文槽位更新 */ export declare const CWMessageSlotUpdateSchema: z.ZodObject<{ label: z.ZodOptional; text: z.ZodOptional; repeatEnabled: z.ZodOptional; repeatIntervalSec: z.ZodOptional; }, "strip", z.ZodTypeAny, { label?: string | undefined; repeatEnabled?: boolean | undefined; repeatIntervalSec?: number | undefined; text?: string | undefined; }, { label?: string | undefined; repeatEnabled?: boolean | undefined; repeatIntervalSec?: number | undefined; text?: string | undefined; }>; export type CWMessageSlotUpdate = z.infer; /** * CW 报文面板更新 */ export declare const CWMessagePanelUpdateSchema: z.ZodObject<{ slotCount: z.ZodNumber; }, "strip", z.ZodTypeAny, { slotCount: number; }, { slotCount: number; }>; export type CWMessagePanelUpdate = z.infer; /** * CW 报文槽位交换请求 */ export declare const CWMessageSlotSwapSchema: z.ZodObject<{ slotIdA: z.ZodString; slotIdB: z.ZodString; }, "strip", z.ZodTypeAny, { slotIdA: string; slotIdB: string; }, { slotIdA: string; slotIdB: string; }>; export type CWMessageSlotSwap = z.infer; //# sourceMappingURL=cw-keyer.schema.d.ts.map