import { z } from "zod"; import type { McpServer, RegisteredTool } from "@modelcontextprotocol/sdk/server/mcp.js"; import type { ToolContext } from "../tool-context.js"; export declare const TOOL_NAME = "crosspad_cdc"; export declare const CdcInputShape: { verb: z.ZodEnum<{ ble: "ble"; audio: "audio"; mem: "mem"; led: "led"; system: "system"; raw: "raw"; kit: "kit"; app: "app"; pad: "pad"; enc: "enc"; }>; action: z.ZodOptional; device: z.ZodOptional; confirm_token: z.ZodOptional; name: z.ZodOptional; wait_s: z.ZodOptional; kit_id: z.ZodOptional; idx: z.ZodOptional; vel: z.ZodOptional; val: z.ZodOptional; reset: z.ZodOptional; delta: z.ZodOptional; ms: z.ZodOptional; on: z.ZodOptional; mode: z.ZodOptional; addr: z.ZodOptional; note: z.ZodOptional; semis: z.ZodOptional; cmd: z.ZodOptional; expect: z.ZodOptional; timeout_ms: z.ZodOptional; }; export declare const CdcInput: z.ZodDiscriminatedUnion<[z.ZodObject<{ verb: z.ZodLiteral<"app">; device: z.ZodOptional; confirm_token: z.ZodOptional; action: z.ZodEnum<{ list: "list"; stop: "stop"; start: "start"; destroy: "destroy"; self_close: "self_close"; versions: "versions"; }>; name: z.ZodOptional; wait_s: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ verb: z.ZodLiteral<"kit">; device: z.ZodOptional; confirm_token: z.ZodOptional; action: z.ZodEnum<{ status: "status"; list: "list"; load: "load"; }>; kit_id: z.ZodOptional; wait_s: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ verb: z.ZodLiteral<"pad">; device: z.ZodOptional; confirm_token: z.ZodOptional; action: z.ZodEnum<{ info: "info"; stats: "stats"; press: "press"; release: "release"; pressure: "pressure"; notes: "notes"; }>; idx: z.ZodOptional; vel: z.ZodOptional; val: z.ZodOptional; reset: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ verb: z.ZodLiteral<"enc">; device: z.ZodOptional; confirm_token: z.ZodOptional; action: z.ZodEnum<{ ui_state: "ui_state"; state: "state"; press: "press"; rotate: "rotate"; group: "group"; focus: "focus"; }>; delta: z.ZodOptional; ms: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ verb: z.ZodLiteral<"led">; device: z.ZodOptional; confirm_token: z.ZodOptional; action: z.ZodEnum<{ state: "state"; }>; }, z.core.$strip>, z.ZodObject<{ verb: z.ZodLiteral<"mem">; device: z.ZodOptional; confirm_token: z.ZodOptional; action: z.ZodEnum<{ info: "info"; blocks: "blocks"; }>; }, z.core.$strip>, z.ZodObject<{ verb: z.ZodLiteral<"audio">; device: z.ZodOptional; confirm_token: z.ZodOptional; action: z.ZodEnum<{ smpl_peak: "smpl_peak"; tasks: "tasks"; level: "level"; }>; on: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ verb: z.ZodLiteral<"ble">; device: z.ZodOptional; confirm_token: z.ZodOptional; action: z.ZodEnum<{ disconnect: "disconnect"; status: "status"; connect: "connect"; stop: "stop"; start: "start"; devices: "devices"; scan: "scan"; send: "send"; txoff: "txoff"; }>; mode: z.ZodOptional; ms: z.ZodOptional; addr: z.ZodOptional; note: z.ZodOptional; vel: z.ZodOptional; semis: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ verb: z.ZodLiteral<"system">; device: z.ZodOptional; confirm_token: z.ZodOptional; action: z.ZodEnum<{ cdc_stats: "cdc_stats"; bootloader_request: "bootloader_request"; stm_dfu: "stm_dfu"; }>; }, z.core.$strip>, z.ZodObject<{ verb: z.ZodLiteral<"raw">; device: z.ZodOptional; confirm_token: z.ZodOptional; cmd: z.ZodString; expect: z.ZodOptional; timeout_ms: z.ZodOptional; }, z.core.$strip>], "verb">; export type CdcArgs = z.infer; export declare const O_Cdc: { success: z.ZodBoolean; device: z.ZodOptional; verb: z.ZodOptional; result: z.ZodOptional; line: z.ZodOptional; parsed: z.ZodOptional>>; rtt_ms: z.ZodOptional; extra_lines: z.ZodOptional>; ts: z.ZodOptional; resultType: z.ZodOptional; confirmation: z.ZodOptional>; error: z.ZodOptional>; details: z.ZodOptional>; }, z.core.$loose>>; details: z.ZodOptional>; tool: z.ZodOptional; hint: z.ZodOptional; }; export declare function isDangerVerb(args: Record): boolean; /** Pure: tool args → daemon cdc.verb {verb, args} or cdc.transact args. */ export declare function toVerbCall(args: CdcArgs): { verb: string; args: Record; } | { raw: { cmd: string; expect?: string; timeout_s?: number; }; }; export declare function registerCdcTool(server: McpServer, ctx: ToolContext): RegisteredTool;