import { z } from "zod"; import type { McpServer, RegisteredTool } from "@modelcontextprotocol/sdk/server/mcp.js"; import { type GitOpts } from "../utils/git.js"; import type { ToolContext } from "../tool-context.js"; export interface InterfaceInfo { name: string; file: string; } export interface ImplementationInfo { className: string; file: string; platform: string; } export declare function crosspadInterfaces(query: string, opts?: GitOpts): Promise>; export declare const ARCHITECTURE_TOOL = "crosspad_architecture"; export declare const ArchitectureInputShape: { action: z.ZodEnum<{ capabilities: "capabilities"; interfaces: "interfaces"; implementations: "implementations"; }>; interface_name: z.ZodOptional; }; export declare const ArchitectureInput: z.ZodDiscriminatedUnion<[z.ZodObject<{ action: z.ZodLiteral<"interfaces">; }, z.core.$strip>, z.ZodObject<{ action: z.ZodLiteral<"implementations">; interface_name: z.ZodString; }, z.core.$strip>, z.ZodObject<{ action: z.ZodLiteral<"capabilities">; }, z.core.$strip>], "action">; export type ArchitectureArgs = z.infer; export declare const O_Architecture: { success: z.ZodBoolean; action: z.ZodOptional; result: z.ZodOptional>; error: z.ZodOptional>; details: z.ZodOptional>; }, z.core.$loose>>; }; export type ArchitectureOutcome = { ok: true; result: Record; } | { ok: false; message: string; }; /** * Dispatch an action onto the v9 implementation. Takes a loose `action` on * purpose: a client that predates the enum can reach this without the zod * layer, and an unknown action must come back as an error rather than as * `undefined`. */ export declare function runArchitecture(args: { action: string; interface_name?: string; }, opts?: GitOpts): Promise; export declare function registerArchitectureTool(server: McpServer, _ctx: ToolContext): RegisteredTool; export interface AppInfo { name: string; registration_file: string; platform: string; } export declare function crosspadApps(platform: "pc" | "idf" | "arduino" | "all", opts?: GitOpts): Promise;