declare namespace _default {
    let mixins: {
        props: {
            label: {
                type: StringConstructor;
                default: string;
            };
            labelProps: {
                type: ObjectConstructor;
                description: string;
            };
        };
        computed: {
            hasLabel(): boolean;
            requiredLabel(): any;
        };
    }[];
    namespace directives {
        export { ObserveVisibility };
    }
    namespace components {
        export { VueMultiselect };
    }
    namespace props {
        namespace options {
            export let type: ArrayConstructor;
            function _default(): any[];
            export { _default as default };
        }
        namespace placeholder {
            let type_1: StringConstructor;
            export { type_1 as type };
            let _default_1: string;
            export { _default_1 as default };
        }
        namespace trackBy {
            let type_2: StringConstructor;
            export { type_2 as type };
            let _default_2: string;
            export { _default_2 as default };
        }
        namespace optionLabel {
            let type_3: StringConstructor;
            export { type_3 as type };
        }
        namespace searchMethod {
            let type_4: FunctionConstructor;
            export { type_4 as type };
        }
        namespace disabled {
            let type_5: BooleanConstructor;
            export { type_5 as type };
            let _default_3: boolean;
            export { _default_3 as default };
        }
        namespace required {
            let type_6: BooleanConstructor;
            export { type_6 as type };
            let _default_4: boolean;
            export { _default_4 as default };
        }
        namespace allowEmpty {
            let type_7: BooleanConstructor;
            export { type_7 as type };
            let _default_5: boolean;
            export { _default_5 as default };
        }
        namespace useValueFromOptionsByProp {
            let type_8: StringConstructor;
            export { type_8 as type };
            let _default_6: string;
            export { _default_6 as default };
        }
    }
    function data(): {
        apiOptions: any[];
        cachedOptionsMap: {};
        isLoading: boolean;
        defaultOptionLabel: string;
        searchParams: {
            search: string;
            page: number;
        };
        searchHasNext: boolean;
    };
    namespace computed {
        function selectOptionLabel(): any;
        function isApiMode(): boolean;
        function showIntersectionObserver(): any;
        function selectValue(): any;
        function selectOptions(): any;
        function isValue(): boolean;
        function listeners(): {
            'update:model-value': any;
            close: any;
            tag: any;
            'search-change': (search: any) => void;
        };
    }
    namespace methods {
        function getOptionLabel({ option, optionLabel }: {
            option: any;
            optionLabel: any;
        }): any;
        function handleSearchChange(search: any): void;
        function handleAfterListIntersect(isVisible: any): void;
        function fetchOptions({ search, page }?: any): Promise<void>;
        function input(value: any): void;
        function close(event: any): void;
        function tag(): void;
    }
    namespace watch {
        function disabled(): void;
        namespace selectOptions {
            function handler(): void;
            let immediate: boolean;
        }
        namespace value {
            export function handler(): Promise<void>;
            let immediate_1: boolean;
            export { immediate_1 as immediate };
        }
    }
    function created(): void;
}
export default _default;
import { ObserveVisibility } from 'vue-observe-visibility';
import VueMultiselect from 'vue-multiselect';
