import type { BaseSyntheticEvent, ChangeEvent, KeyboardEvent } from 'react'; import { PureComponent } from 'react'; import type { SearchResultMeta } from '../../services/SearchStore'; import type { ProMenu } from '../../services/ProMenu'; import type { RedocProNormalizedOptions } from '../../services/ProStore'; import type { IMenuItem, SearchStore, MenuItem, MarkerService } from '../../redoc-lib'; import type { SearchResultExtended } from './MenuItemProSearch'; declare type SearchResult = { score: number; meta: T; }; export interface ProSearchBoxProps { search: SearchStore; menu: ProMenu; marker: MarkerService; onActivate: (item: IMenuItem) => void; className?: string; options: RedocProNormalizedOptions; shown: boolean; hidePopUp: () => void; showPopUp: () => void; setSearchValue: (value: string) => void; searchValue: string; } export interface SearchBoxState { results: SearchResultExtended[] | null; term: string; activeItemIdx: number; loading: boolean; } export declare class ProSearchBox extends PureComponent { activeItemRef: typeof MenuItem | null; prevCancel: (() => void) | null; loadingTimer: any; inputRef: import("react").RefObject; constructor(props: ProSearchBoxProps); componentDidUpdate(prevProps: ProSearchBoxProps): void; clearResults(term: string): void; clear: () => void; handleKeyDown: (event: KeyboardEvent) => void; setResults(results: SearchResult[]): void; updateSearchTerm(q: string): void; _queryWorker: (...args: (string | ((res: any) => void))[]) => void; queryWorker(q: string): () => void; search: (event: ChangeEvent) => void; onActivate: (res: SearchResultExtended) => void; closeByWrapper: (e: BaseSyntheticEvent) => void; closeByButton: () => void; componentDidMount(): void; componentWillUnmount(): void; render(): JSX.Element | null; } export {};