import { type Command } from "commander"; export interface LazyCommandDefinition { /** Commander signature, including any top-level positional arguments. */ command: string; description: string; aliases?: readonly string[]; hidden?: boolean; /** Preserve the `[options]` marker in root help without loading the implementation. */ hasOptions?: boolean; } export interface LazyCommandBundle { commands: readonly LazyCommandDefinition[]; load(program: Command): void | Promise; } /** * Add lightweight top-level command placeholders whose implementations load * immediately before Commander parses the selected command. */ export declare function registerLazyCommandBundles(program: Command, definitions: readonly LazyCommandBundle[]): Command; /** Load one top-level command by canonical name or alias. */ export declare function loadLazyCommand(program: Command, name: string): Promise; /** Materialize every remaining lazy bundle, for whole-tree discovery and completion. */ export declare function loadAllLazyCommands(program: Command): Promise; /** Run a host hook after a named lazy command becomes concrete. */ export declare function onLazyCommandLoaded(program: Command, name: string, hook: (program: Command) => void | Promise): Promise; //# sourceMappingURL=lazy-commands.d.ts.map