import { PropType } from 'vue';
import { FetchValueOptions, FetchValueReturnType } from '../typing';
declare const _default: import("vue").DefineComponent<{
    class: {
        type: StringConstructor;
        default: string;
    };
    value: {
        type: ObjectConstructor;
        default: undefined;
    };
    placeholder: {
        type: StringConstructor;
    };
    fetchValue: {
        type: PropType<(option: FetchValueOptions) => Promise<FetchValueReturnType>>;
    };
    isMulti: {
        type: BooleanConstructor;
        default: boolean;
    };
    change: {
        type: FunctionConstructor;
    };
    relationFieldKey: {
        type: StringConstructor;
        default: string;
    };
    validator: {
        type: PropType<(value: any) => boolean>;
    };
    queryOne: {
        type: PropType<(value: any) => Promise<any>>;
    };
    allowClear: {
        type: BooleanConstructor;
    };
}, {
    loadMoreLoading: import("vue").Ref<boolean>;
    options: import("vue").Ref<Record<string, unknown>[]>;
    fillOptions: (opts?: FetchValueReturnType | undefined) => void;
    search: import("lodash").DebouncedFunc<(searchValue: string, forceSearch?: any) => Promise<void>>;
    loadMore: (forceLoad?: boolean | undefined) => Promise<void>;
    dropdownVisibleChange: (visible: boolean) => void;
    blur: () => void;
    validateState: import("vue").Ref<boolean>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:resetValue"[], "update:resetValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    class: {
        type: StringConstructor;
        default: string;
    };
    value: {
        type: ObjectConstructor;
        default: undefined;
    };
    placeholder: {
        type: StringConstructor;
    };
    fetchValue: {
        type: PropType<(option: FetchValueOptions) => Promise<FetchValueReturnType>>;
    };
    isMulti: {
        type: BooleanConstructor;
        default: boolean;
    };
    change: {
        type: FunctionConstructor;
    };
    relationFieldKey: {
        type: StringConstructor;
        default: string;
    };
    validator: {
        type: PropType<(value: any) => boolean>;
    };
    queryOne: {
        type: PropType<(value: any) => Promise<any>>;
    };
    allowClear: {
        type: BooleanConstructor;
    };
}>> & {
    "onUpdate:resetValue"?: ((...args: any[]) => any) | undefined;
}, {
    class: string;
    value: Record<string, any>;
    isMulti: boolean;
    relationFieldKey: string;
    allowClear: boolean;
}>;
export default _default;
