//#region src/output/formatter.d.ts type HelpFormat = 'text' | 'ansi' | 'console' | 'markdown' | 'html' | 'json'; type HelpDetail = 'minimal' | 'standard' | 'full'; /** * Information about a single positional argument. */ type HelpPositionalInfo = { name: string; description?: string; optional: boolean; default?: unknown; type?: string; enum?: string[]; }; /** * Information about a single argument/flag. */ type HelpArgumentInfo = { name: string; description?: string; optional: boolean; default?: unknown; type?: string; enum?: string[]; /** Single-character short flags (shown as `-v`) */ flags?: string[]; /** Multi-character alternative long names (shown as `--dry-run`) */ aliases?: string[]; deprecated?: boolean | string; hidden?: boolean; examples?: unknown[]; /** Environment variable(s) this arg can be set from */ env?: string | string[]; /** Whether this arg is an array type (shown as ) */ variadic?: boolean; /** Whether this arg is a boolean (shown as --[no-]arg) */ negatable?: boolean; /** Custom negative keyword(s) that set this arg to false (e.g. `['remote']` for `--remote`) */ negative?: string[]; /** Config file key that maps to this arg */ configKey?: string; /** Group name for organizing this option under a labeled section in help output */ group?: string; }; /** * Information about a subcommand (minimal info for listing). */ type HelpSubcommandInfo = { name: string; title?: string; description?: string; aliases?: string[]; deprecated?: boolean | string; hidden?: boolean; hasSubcommands?: boolean; /** Group name for organizing this command under a labeled section in help output */ group?: string; }; /** * Information about a built-in command/flag entry. */ type HelpBuiltinInfo = { name: string; description?: string; sub?: { name: string; description?: string; }[]; }; /** * Comprehensive JSON structure for help information. * This is the single source of truth that all formatters use. */ type HelpInfo = { /** The full command name (e.g., "cli serve" or "") */name: string; /** Short title for the command */ title?: string; /** Command description */ description?: string; /** Alternative names/aliases for this command */ aliases?: string[]; /** Whether the command is deprecated */ deprecated?: boolean | string; /** Whether the command is hidden */ hidden?: boolean; /** Usage string parts for flexible formatting */ usage: { command: string; hasSubcommands: boolean; hasPositionals: boolean; hasArguments: boolean; /** The name of the field that reads from stdin, if any. Shown as `[stdin > field]` in usage. */ stdinField?: string; }; /** List of subcommands */ subcommands?: HelpSubcommandInfo[]; /** Positional arguments */ positionals?: HelpPositionalInfo[]; /** Arguments/flags (only visible ones, hidden filtered out) */ arguments?: HelpArgumentInfo[]; /** Built-in commands and flags (shown only for root command) */ builtins?: HelpBuiltinInfo[]; /** Command-level usage examples (shown in help output) */ examples?: string[]; /** Full help info for nested commands (used in 'full' detail mode) */ nestedCommands?: HelpInfo[]; }; //#endregion export { HelpArgumentInfo, HelpBuiltinInfo, HelpDetail, HelpFormat, HelpInfo, HelpPositionalInfo, HelpSubcommandInfo }; //# sourceMappingURL=formatter.d.mts.map