declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    value: {
        type: ArrayConstructor;
    };
    trackBy: {
        type: StringConstructor;
        default: any;
    };
    taggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    manualTagging: {
        type: BooleanConstructor;
        default: boolean;
        description: string;
    };
}>, {}, {
    defaultOptionLabel: string;
    multiple: boolean;
}, {}, {
    getTagOptionLabel({ optionLabel, option }: {
        optionLabel: any;
        option: any;
    }): any;
    initializeOptions(): any[];
}, {
    mixins: {
        props: {
            label: {
                type: StringConstructor;
                default: string;
            };
            labelProps: {
                type: ObjectConstructor;
                description: string;
            };
        };
        computed: {
            hasLabel(): boolean;
            requiredLabel(): any;
        };
    }[];
    directives: {
        ObserveVisibility: DirectiveOptions;
    };
    components: {
        VueMultiselect: typeof import("vue-multiselect").default;
    };
    props: {
        options: {
            type: ArrayConstructor;
            default: () => any[];
        };
        placeholder: {
            type: StringConstructor;
            default: string;
        };
        trackBy: {
            type: StringConstructor;
            default: string;
        };
        optionLabel: {
            type: StringConstructor;
        };
        searchMethod: {
            type: FunctionConstructor;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        required: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowEmpty: {
            type: BooleanConstructor;
            default: boolean;
        };
        useValueFromOptionsByProp: {
            type: StringConstructor;
            default: string;
        };
    };
    data: () => {
        apiOptions: any[];
        cachedOptionsMap: {};
        isLoading: boolean;
        defaultOptionLabel: string;
        searchParams: {
            search: string;
            page: number;
        };
        searchHasNext: boolean;
    };
    computed: {
        selectOptionLabel(): any;
        isApiMode(): boolean;
        showIntersectionObserver(): any;
        selectValue(): any;
        selectOptions(): any;
        isValue(): boolean;
        listeners(): {
            'update:model-value': any;
            close: any;
            tag: any;
            'search-change': (search: any) => void;
        };
    };
    methods: {
        getOptionLabel({ option, optionLabel }: {
            option: any;
            optionLabel: any;
        }): any;
        handleSearchChange(search: any): void;
        handleAfterListIntersect(isVisible: any): void;
        fetchOptions({ search, page }?: any): Promise<void>;
        input(value: any): void;
        close(event: any): void;
        tag(): void;
    };
    watch: {
        disabled(): void;
        selectOptions: {
            handler(): void;
            immediate: boolean;
        };
        value: {
            handler(): Promise<void>;
            immediate: boolean;
        };
    };
    created(): void;
} | {
    methods: {
        tag(searchQuery: any, id: any): void;
        emitTagEvent(searchQuery: any, id: any): void;
    };
} | {
    props: {
        v: {
            type: ObjectConstructor;
        };
        customValidators: {
            type: ArrayConstructor;
            default: () => any[];
        };
    };
    computed: {
        isValidation(): boolean;
        invalid(): any;
        validationText(): string;
    };
}, import("vue").ComponentOptionsMixin, ("input" | "search-change" | "closed" | "tag")[], "input" | "search-change" | "closed" | "tag", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    value: {
        type: ArrayConstructor;
    };
    trackBy: {
        type: StringConstructor;
        default: any;
    };
    taggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    manualTagging: {
        type: BooleanConstructor;
        default: boolean;
        description: string;
    };
}>> & Readonly<{
    onInput?: (...args: any[]) => any;
    "onSearch-change"?: (...args: any[]) => any;
    onClosed?: (...args: any[]) => any;
    onTag?: (...args: any[]) => any;
}>, {
    trackBy: string;
    taggable: boolean;
    manualTagging: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
