import * as React from "react"; export type CommandPaletteItem = { id: string; label: React.ReactNode; value?: string; description?: React.ReactNode; icon?: React.ReactNode; shortcut?: React.ReactNode; disabled?: boolean; disabledReason?: React.ReactNode; hidden?: boolean; keywords?: string[]; closeOnSelect?: boolean; onSelect?: () => void | Promise; }; export type CommandPaletteGroup = { id: string; label?: React.ReactNode; items?: CommandPaletteItem[]; loadItems?: (search: string) => Promise; loadingLabel?: React.ReactNode; emptyLabel?: React.ReactNode; hidden?: boolean; }; export type CommandPaletteRecentConfig = { enabled?: boolean; label?: React.ReactNode; limit?: number; }; export type CommandPaletteProps = { open?: boolean; onOpenChange?: (open: boolean) => void; title?: React.ReactNode; description?: React.ReactNode; placeholder?: string; emptyLabel?: React.ReactNode; loadingLabel?: React.ReactNode; groups: CommandPaletteGroup[]; value?: string; onValueChange?: (value: string) => void; debounceMs?: number; recent?: CommandPaletteRecentConfig | boolean; filterItem?: (item: CommandPaletteItem, search: string) => boolean; renderEmpty?: (search: string) => React.ReactNode; renderLoading?: (search: string) => React.ReactNode; onItemSelect?: (item: CommandPaletteItem, group: CommandPaletteGroup) => void; className?: string; contentClassName?: string; inputClassName?: string; listClassName?: string; }; declare function CommandPalette({ open, onOpenChange, title, description, placeholder, emptyLabel, loadingLabel, groups, value, onValueChange, debounceMs, recent, filterItem, renderEmpty, renderLoading, onItemSelect, className, contentClassName, inputClassName, listClassName, }: CommandPaletteProps): React.JSX.Element; declare function useCommandPaletteShortcut(onOpenChange: (open: boolean) => void, enabled?: boolean): void; export { CommandPalette, useCommandPaletteShortcut };