import type { ProcessHost } from './ProcessHost.ts'; /** Process capability shared by every command created for one CLI app. */ export interface CliApplicationContext { readonly host: ProcessHost; } /** Adapter-neutral factory for one parser-specific command object. */ export interface CommandDefinition { readonly create: (context: TContext) => TCommand; /** Internal registration identity; it does not define parser syntax or aliases. */ readonly id: string; } /** Ordered command factories materialized for one app context. */ export interface CommandCatalog { readonly createCommands: (context: TContext) => readonly TCommand[]; readonly ids: readonly string[]; } /** Creates an immutable, adapter-neutral command catalog. */ export declare function createCommandCatalog(definitions: readonly CommandDefinition[]): CommandCatalog; //# sourceMappingURL=CommandCatalog.d.ts.map