import { ReactNode } from 'react'; /** * Represents a single command action */ export interface CommandAction { readonly id: string; readonly label: string; readonly description?: string; readonly icon?: React.ComponentType<{ className?: string; }>; readonly keywords?: readonly string[]; readonly shortcut?: string; readonly action: () => void | Promise; readonly section?: string; readonly hidden?: boolean; } /** * Keyboard shortcut configuration */ export interface KeyboardShortcut { readonly keys: string; readonly actionId: string; } /** * Props for CommandPalette component */ export interface CommandPaletteProps { /** Available command actions */ readonly actions: readonly CommandAction[]; /** Additional keyboard shortcuts */ readonly shortcuts?: readonly KeyboardShortcut[]; /** Placeholder text */ readonly placeholder?: string; /** Custom class name */ readonly className?: string; } /** * CommandPalette Component * * Provides a keyboard-accessible command palette with: * - Global keyboard shortcuts (Cmd+K / Ctrl+K) * - Action-specific shortcuts * - Fuzzy search across commands * - Grouped command sections * * @example * ```tsx * const actions: CommandAction[] = [ * { * id: 'new-doc', * label: 'Create New Document', * icon: FilePlus, * shortcut: 'mod+n', * action: () => navigate('/new'), * section: 'Actions', * }, * ]; * * * ``` */ export declare function CommandPalette({ actions, shortcuts, placeholder, className, }: CommandPaletteProps): ReactNode; //# sourceMappingURL=CommandPalette.d.ts.map