import { ReactNode } from 'react'; import { SearchResult, SearchCategory } from '../shared/types'; import { SearchFilters } from '../shared/hooks/shell/useGlobalSearch'; export type { SearchResult, SearchCategory }; /** * Props for GlobalSearch component */ export interface GlobalSearchProps { /** Whether the search dialog is open */ readonly open: boolean; /** Callback when dialog should close */ readonly onClose: () => void; /** Available search categories */ readonly categories?: readonly SearchCategory[]; /** Placeholder text for search input */ readonly placeholder?: string; /** Recent search queries */ readonly recentSearches?: readonly string[]; /** Search function that returns results */ readonly onSearch: (query: string, category?: string, filters?: SearchFilters) => Promise; /** Callback when a result is selected */ readonly onSelect: (result: SearchResult) => void; /** Callback when user clicks "View all results" to open full search page */ readonly onViewAllResults?: (query: string, filters?: SearchFilters, category?: string) => void; /** Custom class name */ readonly className?: string; } /** * GlobalSearch Component * * Provides a keyboard-accessible global search interface with: * - Category filtering * - Recent searches * - Debounced search * - Keyboard navigation * * @example * ```tsx * setIsOpen(false)} * categories={categories} * onSearch={handleSearch} * onSelect={handleSelect} * /> * ``` */ export declare function GlobalSearch({ open, onClose, categories, placeholder, recentSearches, onSearch, onSelect, onViewAllResults, className, }: GlobalSearchProps): ReactNode; //# sourceMappingURL=GlobalSearch.d.ts.map