/// <reference types="react" />
import { AutoCompleteGroupDefault, AutoCompleteItemDefault, AutoCompletePropGetGroupId, AutoCompletePropGetGroupLabel, AutoCompletePropGetItemGroupId, AutoCompletePropGetItemKey, AutoCompletePropGetItemLabel, AutoCompleteProps } from './types';
export declare const defaultGetItemKey: AutoCompletePropGetItemKey<AutoCompleteItemDefault>;
export declare const defaultGetItemLabel: AutoCompletePropGetItemLabel<AutoCompleteItemDefault>;
export declare const defaultGetItemGroupKey: AutoCompletePropGetItemGroupId<AutoCompleteItemDefault>;
export declare const defaultGetGroupKey: AutoCompletePropGetGroupId<AutoCompleteGroupDefault>;
export declare const defaultGetGroupLabel: AutoCompletePropGetGroupLabel<AutoCompleteGroupDefault>;
export declare function withDefaultGetters<TYPE extends string, ITEM = AutoCompleteItemDefault, GROUP = AutoCompleteGroupDefault>(props: AutoCompleteProps<TYPE, ITEM, GROUP>): {
    items: ITEM[];
    groups?: GROUP[] | undefined;
    renderItem?: import("../Select").PropRenderItem<ITEM> | undefined;
    dropdownClassName?: string | undefined;
    dropdownForm?: import("./types").AutoCompletePropDropdownForm | undefined;
    isLoading?: boolean | undefined;
    searchFunction?: import("./types").AutoCompletePropSearchFunction<ITEM> | undefined;
    dropdownRef?: import("react").RefObject<HTMLDivElement> | undefined;
    getItemLabel?: AutoCompletePropGetItemLabel<ITEM> | undefined;
    getItemKey?: AutoCompletePropGetItemKey<ITEM> | undefined;
    getItemGroupKey?: AutoCompletePropGetItemGroupId<ITEM> | undefined;
    getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP> | undefined;
    getGroupKey?: AutoCompletePropGetGroupId<GROUP> | undefined;
    onChange?: import("./types").AutoCompletePropOnChange | undefined;
    virtualScroll?: boolean | undefined;
    onScrollToBottom?: (() => void) | undefined;
    onDropdownOpen?: ((isOpen: boolean) => void) | undefined;
    dropdownOpen?: boolean | undefined;
    ignoreOutsideClicksRefs?: readonly import("react").RefObject<HTMLElement>[] | undefined;
} & Omit<import("../TextField").TextFieldProps<TYPE>, "width" | "onChange" | "max" | "min" | "step" | "incrementButtons"> & (ITEM extends {
    label: string;
} ? {} : {
    getItemLabel: AutoCompletePropGetItemLabel<ITEM>;
}) & (ITEM extends {
    id: string | number;
} ? {} : {
    getItemKey: AutoCompletePropGetItemKey<ITEM>;
}) & (GROUP extends {
    label: string;
} ? {} : {
    getGroupLabel: AutoCompletePropGetGroupLabel<GROUP>;
}) & (GROUP extends {
    id: string | number;
} ? {} : {
    getGroupKey: AutoCompletePropGetGroupId<GROUP>;
}) & {
    getItemLabel: AutoCompletePropGetItemLabel<AutoCompleteItemDefault> | AutoCompletePropGetItemLabel<ITEM>;
    getItemKey: AutoCompletePropGetItemKey<AutoCompleteItemDefault> | AutoCompletePropGetItemKey<ITEM>;
    getItemGroupKey: AutoCompletePropGetItemGroupId<AutoCompleteItemDefault> | AutoCompletePropGetItemGroupId<ITEM>;
    getGroupLabel: AutoCompletePropGetGroupLabel<AutoCompleteGroupDefault> | AutoCompletePropGetGroupLabel<GROUP>;
    getGroupKey: AutoCompletePropGetGroupId<AutoCompleteGroupDefault> | AutoCompletePropGetGroupId<GROUP>;
};
