/** * Command Registry * * Manages available commands for the command palette */ import type { Tier } from '../../core/types/auth.js'; /** * Command complexity preset level */ export type CommandPreset = 'basic' | 'intermediate' | 'advanced'; /** * Filter commands by preset level. * Commands at or below the active preset level are included. * Commands without a preset default to 'intermediate'. */ export declare function filterByPreset(commands: UICommand[], activePreset: CommandPreset): UICommand[]; /** * Command definition */ export interface UICommand { id: string; shortcut?: string; name: string; description: string; category: 'server' | 'plugin' | 'workflow' | 'navigation' | 'general' | 'account' | 'dev' | 'debug'; keywords?: string[]; execute: () => void | Promise; /** Minimum tier required to use this command (defaults to 'free') */ requiredTier?: Tier; /** Command complexity preset (defaults to 'intermediate') */ preset?: CommandPreset; /** Hide from command palette search results (still executable by shortcut) */ hidden?: boolean; } /** * Command registry for managing available commands */ export declare class CommandRegistry { private commands; /** * Register a command */ register(command: UICommand): void; /** * Register multiple commands */ registerAll(commands: UICommand[]): void; /** * Get a command by ID */ get(id: string): UICommand | undefined; /** * Get all registered commands */ getAll(): UICommand[]; /** * Search commands by query string * Matches against shortcut, name, description, and keywords */ search(query: string): UICommand[]; /** * Find a command by exact shortcut match */ findByShortcut(shortcut: string): UICommand | undefined; /** * Get commands by category */ getByCategory(category: UICommand['category']): UICommand[]; /** * Clear all commands */ clear(): void; } /** * Global command registry instance */ export declare const commandRegistry: CommandRegistry; //# sourceMappingURL=registry.d.ts.map