import { Item, Props, Slots, Size } from './types';
import { TopLibPopup } from '../../popup/lib/popup';
import { ShallowUnwrapRef, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
type __VLS_Props = Props;
type __VLS_PublicProps = {
    modelValue: Props['modelValue'];
} & __VLS_Props;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<Slots> & Slots;
    refs: {
        popupRef: ShallowUnwrapRef<{
            id: string;
            popup: TopLibPopup<undefined> | undefined;
        }> | null;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<__VLS_PublicProps, {
    /**
     * Сброс локального кеша и кеша api
     *
     * @param resetAPICache - Сбросить API кеш, по умолчанию не сбрасывается. Для случаев, когда загруженные данные становятся неактуальными
     */
    resetCache: (resetAPICache?: boolean) => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    "update:modelValue": (value: Item | Item[]) => any;
    appendItem: (item: Item) => any;
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    "onUpdate:modelValue"?: ((value: Item | Item[]) => any) | undefined;
    onAppendItem?: ((item: Item) => any) | undefined;
}>, {
    size: Size;
    openByFocusInput: boolean;
    items: Item[];
    searchFields: string[];
    searchType: "none" | "inline" | "popup";
    minLength: number;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    popupRef: ShallowUnwrapRef<{
        id: string;
        popup: TopLibPopup<undefined> | undefined;
    }> | null;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
