import { PureComponent } from 'react'; import * as React from 'react'; import { FixedSizeList } from 'react-window'; import { GrafanaTheme2, ThemeContext } from '@grafana/data'; import { CompletionItem, CompletionItemGroup } from '../../types/completion'; interface Props { origin: string; groupedItems: CompletionItemGroup[]; prefix?: string; menuRef?: (el: Typeahead) => void; onSelectSuggestion?: (suggestion: CompletionItem) => void; isOpen?: boolean; } export interface State { allItems: CompletionItem[]; listWidth: number; listHeight: number; itemHeight: number; hoveredItem: number | null; typeaheadIndex: number | null; } export declare class Typeahead extends PureComponent { static contextType: React.Context; context: React.ContextType; listRef: React.RefObject>; state: State; componentDidMount: () => void; componentWillUnmount: () => void; handleSelectionChange: () => void; componentDidUpdate: (prevProps: Readonly, prevState: Readonly) => void; onMouseEnter: (index: number) => void; onMouseLeave: () => void; moveMenuIndex: (moveAmount: number) => void; insertSuggestion: () => void; get menuPosition(): string; render(): import("react/jsx-runtime").JSX.Element; } export {};