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_ui"; export declare const UiInputShape: { device: z.ZodOptional; return_snapshot: z.ZodOptional; include: z.ZodOptional>>; action: z.ZodEnum<{ press: "press"; rotate: "rotate"; focus: "focus"; back: "back"; start_app: "start_app"; stop_app: "stop_app"; }>; ref: z.ZodOptional; ms: z.ZodOptional; delta: z.ZodOptional; name: z.ZodOptional; wait_s: z.ZodOptional; }; export declare const UiInput: z.ZodDiscriminatedUnion<[z.ZodObject<{ device: z.ZodOptional; return_snapshot: z.ZodOptional; include: z.ZodOptional>>; action: z.ZodLiteral<"focus">; ref: z.ZodString; }, z.core.$strip>, z.ZodObject<{ device: z.ZodOptional; return_snapshot: z.ZodOptional; include: z.ZodOptional>>; action: z.ZodLiteral<"press">; ms: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ device: z.ZodOptional; return_snapshot: z.ZodOptional; include: z.ZodOptional>>; action: z.ZodLiteral<"rotate">; delta: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ device: z.ZodOptional; return_snapshot: z.ZodOptional; include: z.ZodOptional>>; action: z.ZodLiteral<"back">; }, z.core.$strip>, z.ZodObject<{ device: z.ZodOptional; return_snapshot: z.ZodOptional; include: z.ZodOptional>>; action: z.ZodLiteral<"start_app">; name: z.ZodString; wait_s: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ device: z.ZodOptional; return_snapshot: z.ZodOptional; include: z.ZodOptional>>; action: z.ZodLiteral<"stop_app">; }, z.core.$strip>], "action">; export type UiArgs = z.infer; export declare const O_Ui: { success: z.ZodBoolean; action: z.ZodOptional; device: z.ZodOptional; delta: z.ZodOptional; from_index: z.ZodOptional; to_index: z.ZodOptional; result: z.ZodOptional; snapshot: z.ZodOptional>; ui: z.ZodNullable>; kit: z.ZodNullable>; leds: z.ZodNullable>; pads: z.ZodNullable>; mem: z.ZodNullable>; ble: z.ZodNullable>; console: z.ZodNullable>; ts: z.ZodNumber; changed: z.ZodArray; }, z.core.$loose>>; 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; }; /** TS port of snapshot.ref_to_delta(): index(ref) − focus_index; unknown ref → BAD_ARGS. */ export declare function refToDelta(group: Array<{ ref: string; index: number; }>, focusIndex: number, ref: string): number; export declare function registerUiTool(server: McpServer, ctx: ToolContext): RegisteredTool;