import { LitElement, nothing } from 'lit'; /** * Command definition */ export interface Command { id: string; label: string; description?: string; icon?: string; shortcut?: string; category?: string; action?: () => void | Promise; keywords?: string[]; disabled?: boolean; } /** * @element ui-command-palette * * Command palette (Cmd+K / Ctrl+K) for quick navigation and actions. * Inspired by VS Code, Linear, and Raycast. * * @fires command-execute - Dispatched when command is executed * @fires palette-open - Dispatched when palette opens * @fires palette-close - Dispatched when palette closes * * @cssprop --palette-background - Background color * @cssprop --palette-border-color - Border color * @cssprop --palette-input-background - Input background * @cssprop --palette-item-hover - Item hover background * @cssprop --palette-item-selected - Selected item background * @cssprop --palette-text-color - Text color * @cssprop --palette-text-secondary - Secondary text color * @cssprop --palette-border-radius - Border radius * @cssprop --palette-shadow - Box shadow * @cssprop --palette-max-width - Maximum width */ export declare class NACommandPalette extends LitElement { static styles: import("lit").CSSResult; /** Commands to display */ commands: Command[]; /** Open state */ isOpen: boolean; /** Keyboard shortcut to open (default: Cmd+K / Ctrl+K) */ shortcut: string; /** Enable recent commands tracking */ trackRecent: boolean; /** Maximum recent commands to track */ maxRecent: number; /** ARIA label for the command palette */ ariaLabel: string; /** Search query */ private query; /** Selected command index */ private selectedIndex; /** Recent command IDs */ private recentIds; private paletteId; private listboxId; private inputId; /** Input element */ private inputElement; connectedCallback(): void; disconnectedCallback(): void; /** Setup global keyboard listener */ private setupKeyboardListener; /** Remove global keyboard listener */ private removeKeyboardListener; /** Handle global keydown */ private handleGlobalKeydown; /** Open palette */ openPalette(): void; /** Close palette */ closePalette(): void; /** Toggle palette */ toggle(): void; /** Fuzzy search matching */ private fuzzyMatch; /** Get filtered and scored commands */ private get filteredCommands(); /** Group commands by category */ private get groupedCommands(); /** Handle search input */ private handleInput; /** Handle keyboard navigation */ private handleKeydown; /** Scroll selected item into view */ private scrollToSelected; /** Execute command */ private executeCommand; /** Add command to recent */ private addToRecent; /** Load recent from localStorage */ private loadRecent; /** Save recent to localStorage */ private saveRecent; /** Highlight matching text */ private highlightMatch; /** Render command item */ private renderCommand; /** Render commands */ private renderCommands; render(): import("lit-html").TemplateResult<1> | typeof nothing; } declare global { interface HTMLElementTagNameMap { 'ui-command-palette': NACommandPalette; } } //# sourceMappingURL=command-palette.d.ts.map