import React from 'react'; export type AutocompleteOptionBaseType = { label: string; value: string; [key: string]: any; }; export type AutocompleteOptionType = AutocompleteOptionBaseType & { disabled?: boolean; children?: (option: { selected: boolean; disabled: boolean; active: boolean; }) => JSX.Element; }; export type AutocompletedValue = AutocompleteOptionBaseType | AutocompleteOptionBaseType[] | undefined; export type AutocompleteContextProps = { query: string; setQuery: React.Dispatch>; options: AutocompleteOptionBaseType[]; setOptions: React.Dispatch>; isMultiple?: boolean; open?: boolean; disabled?: boolean; selected: AutocompletedValue; setSelected: React.Dispatch>; spaceKeyDown?: boolean; setSpaceKeyDown: React.Dispatch>; inputRef: React.RefObject; buttonRef: React.RefObject; }; export declare const AutocompleteContext: React.Context; export declare const useAutocomplete: () => { isEmpty: boolean; query: string; setQuery: React.Dispatch>; options: AutocompleteOptionBaseType[]; setOptions: React.Dispatch>; isMultiple?: boolean | undefined; open?: boolean | undefined; disabled?: boolean | undefined; selected: AutocompletedValue; setSelected: React.Dispatch>; spaceKeyDown?: boolean | undefined; setSpaceKeyDown: React.Dispatch>; inputRef: React.RefObject; buttonRef: React.RefObject; };