import type { Command } from "commander"; import { type z } from "zod"; export interface CliContext { env: NodeJS.ProcessEnv; stdout: NodeJS.WriteStream; stderr: NodeJS.WriteStream; } export interface CommandOption { flags: string; description: string; defaultValue?: string | boolean | string[]; } export interface DefineCommandOptions { name: string; description: string; schema: TSchema; options?: CommandOption[]; action: (input: z.output, ctx: CliContext) => Promise | unknown; } export interface RegisteredCliCommand { name: string; path: string[]; toolName: string; description: string; schema: TSchema; options: CommandOption[]; action: (input: z.output, ctx: CliContext) => Promise | unknown; } export declare function defineCommand(parent: Command, opts: DefineCommandOptions): Command; export declare function executeRegisteredCommand(command: RegisteredCliCommand, input: unknown, ctx: CliContext): Promise; export declare function createGroup(parent: Command, name: string, description: string): Command; export declare function option(flags: string, description: string, defaultValue?: string | boolean | string[]): CommandOption; export declare function writeJson(ctx: CliContext, value: unknown): void; export declare function handleCliError(error: unknown, ctx: CliContext): void; export declare function serializeCliError(error: unknown): Record; export declare function getRegisteredCommands(program: Command): RegisteredCliCommand[]; //# sourceMappingURL=command.d.ts.map