import type { KeyboardEvent, ChangeEvent } from 'react'; import { PureComponent } from 'react'; import type { IMenuItem, SearchResult } from '../../services/types'; import type { SearchStore } from '../../services/SearchStore'; import type { MarkerService } from '../../services/MarkerService'; import { MenuItem } from '../SideMenu/MenuItem'; export interface SearchBoxProps { search: SearchStore; marker: MarkerService; getItemById: (id: string) => IMenuItem | undefined; onActivate: (item: IMenuItem) => void; className?: string; } export interface SearchBoxState { results: SearchResult[]; term: string; activeItemIdx: number; } export declare class SearchBox extends PureComponent { activeItemRef: typeof MenuItem | null; static contextType: import("react").Context; constructor(props: SearchBoxProps); clearResults(term: string): void; clear: () => void; handleKeyDown: (event: KeyboardEvent) => void; setResults(results: SearchResult[], term: string): void; searchCallback(searchTerm: string): void; search: (event: ChangeEvent) => void; render(): JSX.Element; }