import { z } from "zod"; /** * Parameter types for tool definitions */ export declare const ParameterType: z.ZodEnum<["string", "integer", "boolean", "enum", "array"]>; /** * Enum option with value and description */ export declare const EnumOption: z.ZodUnion<[z.ZodString, z.ZodObject<{ value: z.ZodString; description: z.ZodOptional; }, "strip", z.ZodTypeAny, { value: string; description?: string | undefined; }, { value: string; description?: string | undefined; }>]>; /** * Parameter definition */ export declare const ParameterDef: z.ZodObject<{ type: z.ZodEnum<["string", "integer", "boolean", "enum", "array"]>; required: z.ZodDefault>; default: z.ZodOptional; description: z.ZodString; flag: z.ZodOptional; options: z.ZodOptional; }, "strip", z.ZodTypeAny, { value: string; description?: string | undefined; }, { value: string; description?: string | undefined; }>]>, "many">>; items: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "boolean" | "integer" | "enum" | "array"; }, { type: "string" | "boolean" | "integer" | "enum" | "array"; }>>; }, "strip", z.ZodTypeAny, { type: "string" | "boolean" | "integer" | "enum" | "array"; description: string; required: boolean; options?: (string | { value: string; description?: string | undefined; })[] | undefined; default?: any; flag?: string | undefined; items?: { type: "string" | "boolean" | "integer" | "enum" | "array"; } | undefined; }, { type: "string" | "boolean" | "integer" | "enum" | "array"; description: string; options?: (string | { value: string; description?: string | undefined; })[] | undefined; required?: boolean | undefined; default?: any; flag?: string | undefined; items?: { type: "string" | "boolean" | "integer" | "enum" | "array"; } | undefined; }>; export type ParameterDef = z.infer; /** * Tool definition schema (YAML format) */ export declare const ToolDefinition: z.ZodObject<{ name: z.ZodString; category: z.ZodString; description: z.ZodString; keywords: z.ZodArray; parameters: z.ZodRecord; required: z.ZodDefault>; default: z.ZodOptional; description: z.ZodString; flag: z.ZodOptional; options: z.ZodOptional; }, "strip", z.ZodTypeAny, { value: string; description?: string | undefined; }, { value: string; description?: string | undefined; }>]>, "many">>; items: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "boolean" | "integer" | "enum" | "array"; }, { type: "string" | "boolean" | "integer" | "enum" | "array"; }>>; }, "strip", z.ZodTypeAny, { type: "string" | "boolean" | "integer" | "enum" | "array"; description: string; required: boolean; options?: (string | { value: string; description?: string | undefined; })[] | undefined; default?: any; flag?: string | undefined; items?: { type: "string" | "boolean" | "integer" | "enum" | "array"; } | undefined; }, { type: "string" | "boolean" | "integer" | "enum" | "array"; description: string; options?: (string | { value: string; description?: string | undefined; })[] | undefined; required?: boolean | undefined; default?: any; flag?: string | undefined; items?: { type: "string" | "boolean" | "integer" | "enum" | "array"; } | undefined; }>>; command_template: z.ZodOptional; examples: z.ZodOptional>; notes: z.ZodOptional; requires_root: z.ZodDefault>; timeout: z.ZodDefault>; output_parser: z.ZodOptional; interactive: z.ZodDefault>; }, "strip", z.ZodTypeAny, { description: string; name: string; category: string; keywords: string[]; parameters: Record; requires_root: boolean; timeout: number; interactive: boolean; command_template?: string | undefined; examples?: string[] | undefined; notes?: string | undefined; output_parser?: string | undefined; }, { description: string; name: string; category: string; keywords: string[]; parameters: Record; command_template?: string | undefined; examples?: string[] | undefined; notes?: string | undefined; requires_root?: boolean | undefined; timeout?: number | undefined; output_parser?: string | undefined; interactive?: boolean | undefined; }>; export type ToolDefinition = z.infer; /** * Minimal tool info for lazy loading (low context cost) */ export interface LazyToolInfo { name: string; category: string; description: string; keywords: string[]; } /** * Tool execution result */ export interface ToolResult { success: boolean; output: string; error?: string; exitCode?: number; duration?: number; } /** * Build command from tool definition and parameters */ export declare function buildCommand(tool: ToolDefinition, args: Record): string; /** * JSON Schema type for MCP tool input */ export interface JsonSchema { type: "object"; properties?: Record; required?: string[]; } /** * Convert tool definition to JSON Schema for MCP */ export declare function toJsonSchema(tool: ToolDefinition): JsonSchema;