import { ConfigOptionType, ExtractValueType } from '../../types';
declare const _default: <Option extends import('../../types').ObjectAnyType, Config extends ConfigOptionType<Option>, Model extends ExtractValueType<Option, Config>, Multiple extends boolean = false>(__VLS_props: {
    id?: string | undefined;
    name?: string | undefined;
    size?: "" | "small" | "default" | "large" | undefined;
    color?: "" | "primary" | "secondary" | "destructive" | "success" | "warning" | "active" | "primary-alternative" | undefined;
    readonly onChange?: ((payload: (Multiple extends true ? Option[] : Option) | undefined) => any) | undefined;
    disabled?: boolean | undefined;
    modelValue?: (Multiple extends true ? Model[] : Model) | undefined;
    placeholder?: string | undefined;
    maxWidth?: string | number | undefined;
    isError?: boolean | undefined;
    clearable?: boolean | undefined;
    fitInputWidth?: boolean | undefined;
    dataTestName?: string | undefined;
    prefixIconColor?: string | undefined;
    prefixIcon?: string | undefined;
    prefixIconSize?: string | undefined;
    readonly "onUpdate:modelValue"?: ((payload: (Multiple extends true ? Model[] : Model) | undefined) => any) | undefined;
    config: Config;
    readonly "onUpdate:visible"?: ((payload: boolean) => any) | undefined;
    emptyText?: string | undefined;
    readonly "onInitial-value"?: ((payload: (Multiple extends true ? Option[] : Option) | undefined) => any) | undefined;
    filterable?: boolean | undefined;
    multiple?: Multiple | undefined;
    quickCheckAll?: boolean | undefined;
    loadDataFunc: (page: number, query?: string) => Promise<Option[]>;
    loadOneElementFunc?: ((value: unknown) => Promise<Option[]>) | undefined;
    distance?: number | undefined;
    infiniteScrollingDisabled?: boolean | undefined;
    remoteSearch?: boolean | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: {
    attrs: any;
    slots: {
        default?(_: {}): any;
        "prefix-icon"?(_: {
            selected: (Multiple extends true ? Option[] : Option) | undefined;
        }): any;
        option?(_: {
            option: Option;
        }): any;
    };
    emit: {
        (e: 'update:modelValue', payload: (Multiple extends true ? Model[] : Model) | undefined): void;
        (e: 'update:visible', payload: boolean): void;
        (e: 'initial-value', payload: (Multiple extends true ? Option[] : Option) | undefined): void;
        (e: 'change', payload: (Multiple extends true ? Option[] : Option) | undefined): void;
    };
} | undefined, __VLS_expose?: ((exposed: {
    resetData: () => void;
    loadMore: () => Promise<void>;
}) => void) | undefined, __VLS_setup?: Promise<{
    props: {
        id?: string | undefined;
        name?: string | undefined;
        size?: "" | "small" | "default" | "large" | undefined;
        color?: "" | "primary" | "secondary" | "destructive" | "success" | "warning" | "active" | "primary-alternative" | undefined;
        readonly onChange?: ((payload: (Multiple extends true ? Option[] : Option) | undefined) => any) | undefined;
        disabled?: boolean | undefined;
        modelValue?: (Multiple extends true ? Model[] : Model) | undefined;
        placeholder?: string | undefined;
        maxWidth?: string | number | undefined;
        isError?: boolean | undefined;
        clearable?: boolean | undefined;
        fitInputWidth?: boolean | undefined;
        dataTestName?: string | undefined;
        prefixIconColor?: string | undefined;
        prefixIcon?: string | undefined;
        prefixIconSize?: string | undefined;
        readonly "onUpdate:modelValue"?: ((payload: (Multiple extends true ? Model[] : Model) | undefined) => any) | undefined;
        config: Config;
        readonly "onUpdate:visible"?: ((payload: boolean) => any) | undefined;
        emptyText?: string | undefined;
        readonly "onInitial-value"?: ((payload: (Multiple extends true ? Option[] : Option) | undefined) => any) | undefined;
        filterable?: boolean | undefined;
        multiple?: Multiple | undefined;
        quickCheckAll?: boolean | undefined;
        loadDataFunc: (page: number, query?: string) => Promise<Option[]>;
        loadOneElementFunc?: ((value: unknown) => Promise<Option[]>) | undefined;
        distance?: number | undefined;
        infiniteScrollingDisabled?: boolean | undefined;
        remoteSearch?: boolean | undefined;
    } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
    expose(exposed: {
        resetData: () => void;
        loadMore: () => Promise<void>;
    }): void;
    attrs: any;
    slots: {
        default?(_: {}): any;
        "prefix-icon"?(_: {
            selected: (Multiple extends true ? Option[] : Option) | undefined;
        }): any;
        option?(_: {
            option: Option;
        }): any;
    };
    emit: {
        (e: 'update:modelValue', payload: (Multiple extends true ? Model[] : Model) | undefined): void;
        (e: 'update:visible', payload: boolean): void;
        (e: 'initial-value', payload: (Multiple extends true ? Option[] : Option) | undefined): void;
        (e: 'change', payload: (Multiple extends true ? Option[] : Option) | undefined): void;
    };
}>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: {
        props: {
            id?: string | undefined;
            name?: string | undefined;
            size?: "" | "small" | "default" | "large" | undefined;
            color?: "" | "primary" | "secondary" | "destructive" | "success" | "warning" | "active" | "primary-alternative" | undefined;
            readonly onChange?: ((payload: (Multiple extends true ? Option[] : Option) | undefined) => any) | undefined;
            disabled?: boolean | undefined;
            modelValue?: (Multiple extends true ? Model[] : Model) | undefined;
            placeholder?: string | undefined;
            maxWidth?: string | number | undefined;
            isError?: boolean | undefined;
            clearable?: boolean | undefined;
            fitInputWidth?: boolean | undefined;
            dataTestName?: string | undefined;
            prefixIconColor?: string | undefined;
            prefixIcon?: string | undefined;
            prefixIconSize?: string | undefined;
            readonly "onUpdate:modelValue"?: ((payload: (Multiple extends true ? Model[] : Model) | undefined) => any) | undefined;
            config: Config;
            readonly "onUpdate:visible"?: ((payload: boolean) => any) | undefined;
            emptyText?: string | undefined;
            readonly "onInitial-value"?: ((payload: (Multiple extends true ? Option[] : Option) | undefined) => any) | undefined;
            filterable?: boolean | undefined;
            multiple?: Multiple | undefined;
            quickCheckAll?: boolean | undefined;
            loadDataFunc: (page: number, query?: string) => Promise<Option[]>;
            loadOneElementFunc?: ((value: unknown) => Promise<Option[]>) | undefined;
            distance?: number | undefined;
            infiniteScrollingDisabled?: boolean | undefined;
            remoteSearch?: boolean | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        expose(exposed: {
            resetData: () => void;
            loadMore: () => Promise<void>;
        }): void;
        attrs: any;
        slots: {
            default?(_: {}): any;
            "prefix-icon"?(_: {
                selected: (Multiple extends true ? Option[] : Option) | undefined;
            }): any;
            option?(_: {
                option: Option;
            }): any;
        };
        emit: {
            (e: 'update:modelValue', payload: (Multiple extends true ? Model[] : Model) | undefined): void;
            (e: 'update:visible', payload: boolean): void;
            (e: 'initial-value', payload: (Multiple extends true ? Option[] : Option) | undefined): void;
            (e: 'change', payload: (Multiple extends true ? Option[] : Option) | undefined): void;
        };
    } | undefined;
};
export default _default;
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
