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>): (TYPE extends "textarray" ? Omit<import("../TextFieldCanary").TextFieldProps<"textarray">, "onChange" | "type"> : Omit<import("../TextFieldCanary").TextFieldProps<string>, "onChange" | "type">) & {
    type?: TYPE | undefined;
    onChange?: import("./types").AutoCompletePropOnChange<TYPE> | undefined;
    items?: ITEM[] | undefined;
    groups?: GROUP[] | undefined;
    renderItem?: import("../Select").PropRenderItem<ITEM> | undefined;
    dropdownClassName?: string;
    dropdownForm?: import("./types").AutoCompletePropDropdownForm;
    isLoading?: boolean;
    searchFunction?: import("./types").AutoCompletePropSearchFunction<ITEM> | undefined;
    dropdownRef?: React.RefObject<HTMLDivElement>;
    getItemLabel?: AutoCompletePropGetItemLabel<ITEM> | undefined;
    getItemKey?: AutoCompletePropGetItemKey<ITEM> | undefined;
    getItemGroupKey?: AutoCompletePropGetItemGroupId<ITEM> | undefined;
    getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP> | undefined;
    getGroupKey?: AutoCompletePropGetGroupId<GROUP> | undefined;
    virtualScroll?: boolean;
    onScrollToBottom?: (length: number) => void;
    onDropdownOpen?: (isOpen: boolean) => void;
    dropdownOpen?: boolean;
    ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
} & (ITEM extends {
    label: AutoCompleteItemDefault["label"];
} ? {} : {
    getItemLabel: AutoCompletePropGetItemLabel<ITEM>;
}) & (GROUP extends {
    label: AutoCompleteGroupDefault["label"];
} ? {} : {
    getGroupLabel: AutoCompletePropGetGroupLabel<GROUP>;
}) & (GROUP extends {
    id: AutoCompleteGroupDefault["id"];
} ? {} : {
    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>;
};
