import type { ChxPluginCommand, CommandDef, CommandExtension, FlagDef } from '../plugins.js'; export interface RegisteredCommand { name: string; description: string; flags: readonly FlagDef[]; pluginFlags: Array<{ pluginName: string; flags: readonly FlagDef[]; }>; isPlugin: boolean; pluginName?: string; subcommands?: RegisteredCommand[]; run: CommandDef['run'] | null; } export interface CommandRegistry { commands: RegisteredCommand[]; globalFlags: readonly FlagDef[]; get(name: string): RegisteredCommand | undefined; resolveFlags(name: string, subcommand?: string): FlagDef[]; } export declare function createCommandRegistry(input: { coreCommands: CommandDef[]; globalFlags: readonly FlagDef[]; pluginExtensions: Array<{ pluginName: string; extensions: CommandExtension[]; }>; pluginCommands: Array<{ pluginName: string; commands: ChxPluginCommand[]; manifestName: string; }>; }): CommandRegistry; //# sourceMappingURL=command-registry.d.ts.map