import { type ReactNode } from "react"; export interface CommandPaletteItem { key: string; label: string; hint?: string; } export interface RuntimeCommand { id: string; title: string; hint?: string; section?: string; keybinds?: string[]; disabled?: boolean; visible?: boolean; run: () => void | Promise; } export interface CommandRegistry { commands: RuntimeCommand[]; registerCommand: (command: RuntimeCommand) => () => void; registerCommands: (commands: RuntimeCommand[]) => () => void; unregisterCommand: (id: string) => void; clearCommands: () => void; runCommand: (id: string) => Promise; runKeybinding: (binding: string) => Promise; } export interface CommandRegistryProviderProps { children: ReactNode; initialCommands?: RuntimeCommand[]; } export declare function normalizeBinding(binding: string): string; export declare function commandToPaletteItem(command: RuntimeCommand): CommandPaletteItem; export declare function shouldCleanupRegisteredCommand(entry: { id: string; registrationId: number; }, commandId: string, registrationId: number): boolean; export declare function CommandRegistryProvider({ children, initialCommands }: CommandRegistryProviderProps): ReactNode; export declare function useCommandRegistry(): CommandRegistry; export declare function useCommandRegistryItems(): CommandPaletteItem[]; //# sourceMappingURL=command-registry.d.ts.map