import type { MouseEvent, RefObject } from 'react';
import type { AutocompleteBaseDefaultOption, AutocompleteBaseAnchorRef, AutoCompleteBaseInputRef, AutocompleteBaseSize } from './entities';
import type { AutocompleteBaseDropdownControl, AutocompleteBaseInputControl, AutocompleteBaseOptionsControl, AutocompleteBaseSearchControl, AutocompleteBaseValueControl, AutocompleteBaseInputEventsControl } from './hooks';
export type AutocompleteBaseContextValue<Option = AutocompleteBaseDefaultOption, Multiple extends boolean = boolean> = {
    anchorRef: RefObject<AutocompleteBaseAnchorRef>;
    inputRef: RefObject<AutoCompleteBaseInputRef>;
    dropdownControl: AutocompleteBaseDropdownControl;
    searchControl: AutocompleteBaseSearchControl<Option>;
    optionsControl: AutocompleteBaseOptionsControl<Option>;
    inputControl: AutocompleteBaseInputControl;
    inputEventsControl: AutocompleteBaseInputEventsControl;
    valueControl: AutocompleteBaseValueControl<Option, Multiple>;
    clear: (event: MouseEvent<HTMLElement>) => void;
    size: AutocompleteBaseSize;
    disabled: boolean;
    multiple: Multiple;
    loading: boolean;
    error: boolean;
};
export declare const AutocompleteBaseContextDefaultValue: AutocompleteBaseContextValue;
export declare const AutocompleteBaseContext: import("react").Context<AutocompleteBaseContextValue<AutocompleteBaseDefaultOption, boolean>>;
export declare const useAutocompleteBaseContext: <Option = AutocompleteBaseDefaultOption, Multiple extends boolean = boolean>() => AutocompleteBaseContextValue<Option, Multiple>;
