import React, { ReactNode } from 'react'; export interface SearchResult { id: string; title: string; url?: string; image?: string; price?: string; type?: 'product' | 'category' | 'page'; [key: string]: unknown; } interface SearchBoxProps { searchPageUrl: string; enableAutocomplete?: boolean; autocompleteDelay?: number; minSearchLength?: number; maxResults?: number; onSearch?: (query: string) => Promise; renderSearchInput?: (props: { value: string; onChange: (value: string) => void; onKeyDown: (event: React.KeyboardEvent) => void; onFocus: () => void; onBlur: () => void; placeholder: string; ref: React.RefObject; }) => ReactNode; renderSearchResults?: (props: { results: SearchResult[]; query: string; onSelect: (result: SearchResult) => void; isLoading: boolean; }) => ReactNode; renderSearchIcon?: () => ReactNode; renderCloseIcon?: () => ReactNode; } export declare function SearchBox({ searchPageUrl, enableAutocomplete, autocompleteDelay, minSearchLength, maxResults, onSearch, renderSearchInput, renderSearchResults, renderSearchIcon, renderCloseIcon }: SearchBoxProps): React.JSX.Element; export {};