import { default as VueMultiselect } from 'vue-multiselect';
/**
 * ------------------------------------------------
 *  # Setup: Props/Variables/Models
 * ------------------------------------------------
 */
export interface DsgInputSelectOption {
    id: string | number;
    label: string;
    [key: string]: any;
}
export interface DsgInputSelectProps {
    options?: DsgInputSelectOption[];
    multiple?: boolean;
    fetchOnLoad?: boolean;
    getUrl?: string;
    placeholder?: string;
    label?: string;
    showLabels?: boolean;
    disabled?: boolean;
    closeOnSelect?: boolean;
    trackBy?: string;
    contentMaxWidth?: string;
    itemLabel?: string;
    allowEmpty?: boolean;
    validateOnLoad?: boolean;
    selectLabel?: string;
    selectedLabel?: string;
    errors?: string[] | string;
    size?: "md";
}
type __VLS_Props = DsgInputSelectProps;
type __VLS_PublicProps = {
    "modelValue"?: any;
    "single"?: any;
} & __VLS_Props;
declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "update:modelValue": (value: any) => any;
    "update:single": (value: any) => any;
} & {
    select: (value: any, id: string | number) => any;
    "update:model-value": (value: any) => any;
    "update:modelValue": (value: any) => any;
    tag: (label: any, id: string | number) => any;
    "search-change": (queryTerm: string) => any;
    open: (id: string | number) => any;
    close: (value: any, id: string | number) => any;
    remove: (value: any, id: string | number) => any;
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    onSelect?: ((value: any, id: string | number) => any) | undefined;
    "onUpdate:model-value"?: ((value: any) => any) | undefined;
    "onUpdate:modelValue"?: ((value: any) => any) | undefined;
    onTag?: ((label: any, id: string | number) => any) | undefined;
    "onUpdate:single"?: ((value: any) => any) | undefined;
    "onSearch-change"?: ((queryTerm: string) => any) | undefined;
    onOpen?: ((id: string | number) => any) | undefined;
    onClose?: ((value: any, id: string | number) => any) | undefined;
    onRemove?: ((value: any, id: string | number) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    multiselectEl: VueMultiselect | null;
}, HTMLDivElement>;
export default _default;
