/** * Slash command registry with metadata for inline completion. * * Assembles slash command entries from the shared constants * and provides filtering utilities for the completion menu. */ import { SlashCommand } from '../../shared/constants.js'; export interface SlashCommandDefinition { readonly command: Command; readonly labelKey: string; } /** * Conditions controlling which slash commands are available. */ export interface CommandAvailability { readonly enableRetryCommand?: boolean; readonly hasPreviousOrder?: boolean; readonly enableSetupCommand?: boolean; readonly enableOpenCommand?: boolean; readonly enableSettingsCommands?: boolean; readonly formalSpec?: boolean; readonly enableTellCommand?: boolean; readonly enableAssistantRetryCommands?: boolean; readonly enabledCommands?: readonly SlashCommand[]; } export declare function resolveFormalSpecCommandAvailability(availability: CommandAvailability, formalSpec: boolean): CommandAvailability; /** * Filter slash commands by prefix match and availability conditions. */ export declare function filterSlashCommands(prefix: string, availability?: CommandAvailability): readonly SlashCommandDefinition[]; export declare function filterSlashCommands(prefix: string, availability: CommandAvailability | undefined, definitions: readonly SlashCommandDefinition[] | undefined): readonly SlashCommandDefinition[]; //# sourceMappingURL=slashCommandRegistry.d.ts.map