import type { Command } from "commander"; import type { NamedCommandDescriptor } from "./command-group-descriptors.js"; export type CommandDescriptorLike = Pick; export type CommandDescriptorCatalog = { descriptors: readonly TDescriptor[]; getDescriptors: () => readonly TDescriptor[]; getNames: () => string[]; getCommandsWithSubcommands: () => string[]; }; export declare function normalizeCommandDescriptorName(name: string): string | null; export declare function sanitizeCommandDescriptorDescription(description: string): string; export declare function getCommandDescriptorNames(descriptors: readonly CommandDescriptorLike[]): string[]; export declare function getCommandsWithSubcommands(descriptors: readonly NamedCommandDescriptor[]): string[]; export declare function collectUniqueCommandDescriptors(descriptorGroups: readonly (readonly TDescriptor[])[]): TDescriptor[]; export declare function defineCommandDescriptorCatalog(descriptors: readonly TDescriptor[]): CommandDescriptorCatalog; export declare function addCommandDescriptorsToProgram(program: Command, descriptors: readonly CommandDescriptorLike[], existingCommands?: Set): Set;