import Select from "./src/index.vue";
export type TSelectInstance = InstanceType<typeof Select>;
declare const TSelect: ({
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: null;
            required: true;
            default: undefined;
        };
        multiple: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        width: {
            type: StringConstructor;
            required: false;
        };
        valueCustom: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        labelCustom: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        customLabel: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        optionSource: {
            type: ArrayConstructor;
            required: false;
            default: () => never[];
        };
        filterable: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        isShowPagination: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        paginationOption: {
            type: ObjectConstructor;
            required: false;
            default: () => {
                pageSize: number;
                currentPage: number;
                pagerCount: number;
                total: number;
            };
        };
        useVirtual: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        returnObject: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        isCached: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        isRadioEchoLabel: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        radioSelectValLabel: {
            type: StringConstructor;
            required: false;
            default: string;
        };
    }>> & Readonly<{
        "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
        onChange?: ((...args: any[]) => any) | undefined;
        onInput?: ((...args: any[]) => any) | undefined;
        "onSelect-input"?: ((...args: any[]) => any) | undefined;
    }>, {
        props: any;
        tselectRef: import("vue").Ref<any, any>;
        filteredOptionsCount: import("vue").Ref<number, number>;
        slots: Readonly<{
            [name: string]: import("vue").Slot<any> | undefined;
        }>;
        emits: (event: "update:modelValue" | "change" | "input" | "select-input", ...args: any[]) => void;
        childSelectedValue: import("vue").WritableComputedRef<any, any>;
        currentOptions: import("vue").Ref<any, any>;
        cachedOptions: import("vue").Ref<Map<any, any> & Omit<Map<any, any>, keyof Map<any, any>>, Map<any, any> | (Map<any, any> & Omit<Map<any, any>, keyof Map<any, any>>)>;
        mergedOptions: import("vue").ComputedRef<any[]>;
        handlesSelectInput: (e: any) => void;
        handlesChange: (value: any) => void;
        selectChecked: import("vue").WritableComputedRef<boolean, any>;
        selectAll: (val: any) => void;
        customLabelHandler: (_item: any) => any;
        clear: () => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change" | "input" | "select-input")[], import("vue").PublicProps, {
        isShowPagination: boolean;
        useVirtual: boolean;
        modelValue: any;
        multiple: boolean;
        valueCustom: string;
        labelCustom: string;
        customLabel: string;
        optionSource: unknown[];
        filterable: boolean;
        paginationOption: Record<string, any>;
        returnObject: boolean;
        isCached: boolean;
        isRadioEchoLabel: boolean;
        radioSelectValLabel: string;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: null;
            required: true;
            default: undefined;
        };
        multiple: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        width: {
            type: StringConstructor;
            required: false;
        };
        valueCustom: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        labelCustom: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        customLabel: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        optionSource: {
            type: ArrayConstructor;
            required: false;
            default: () => never[];
        };
        filterable: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        isShowPagination: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        paginationOption: {
            type: ObjectConstructor;
            required: false;
            default: () => {
                pageSize: number;
                currentPage: number;
                pagerCount: number;
                total: number;
            };
        };
        useVirtual: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        returnObject: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        isCached: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        isRadioEchoLabel: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        radioSelectValLabel: {
            type: StringConstructor;
            required: false;
            default: string;
        };
    }>> & Readonly<{
        "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
        onChange?: ((...args: any[]) => any) | undefined;
        onInput?: ((...args: any[]) => any) | undefined;
        "onSelect-input"?: ((...args: any[]) => any) | undefined;
    }>, {
        props: any;
        tselectRef: import("vue").Ref<any, any>;
        filteredOptionsCount: import("vue").Ref<number, number>;
        slots: Readonly<{
            [name: string]: import("vue").Slot<any> | undefined;
        }>;
        emits: (event: "update:modelValue" | "change" | "input" | "select-input", ...args: any[]) => void;
        childSelectedValue: import("vue").WritableComputedRef<any, any>;
        currentOptions: import("vue").Ref<any, any>;
        cachedOptions: import("vue").Ref<Map<any, any> & Omit<Map<any, any>, keyof Map<any, any>>, Map<any, any> | (Map<any, any> & Omit<Map<any, any>, keyof Map<any, any>>)>;
        mergedOptions: import("vue").ComputedRef<any[]>;
        handlesSelectInput: (e: any) => void;
        handlesChange: (value: any) => void;
        selectChecked: import("vue").WritableComputedRef<boolean, any>;
        selectAll: (val: any) => void;
        customLabelHandler: (_item: any) => any;
        clear: () => void;
    }, {}, {}, {}, {
        isShowPagination: boolean;
        useVirtual: boolean;
        modelValue: any;
        multiple: boolean;
        valueCustom: string;
        labelCustom: string;
        customLabel: string;
        optionSource: unknown[];
        filterable: boolean;
        paginationOption: Record<string, any>;
        returnObject: boolean;
        isCached: boolean;
        isRadioEchoLabel: boolean;
        radioSelectValLabel: string;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        type: null;
        required: true;
        default: undefined;
    };
    multiple: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    width: {
        type: StringConstructor;
        required: false;
    };
    valueCustom: {
        type: StringConstructor;
        required: false;
        default: string;
    };
    labelCustom: {
        type: StringConstructor;
        required: false;
        default: string;
    };
    customLabel: {
        type: StringConstructor;
        required: false;
        default: string;
    };
    optionSource: {
        type: ArrayConstructor;
        required: false;
        default: () => never[];
    };
    filterable: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    isShowPagination: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    paginationOption: {
        type: ObjectConstructor;
        required: false;
        default: () => {
            pageSize: number;
            currentPage: number;
            pagerCount: number;
            total: number;
        };
    };
    useVirtual: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    returnObject: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    isCached: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    isRadioEchoLabel: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    radioSelectValLabel: {
        type: StringConstructor;
        required: false;
        default: string;
    };
}>> & Readonly<{
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onChange?: ((...args: any[]) => any) | undefined;
    onInput?: ((...args: any[]) => any) | undefined;
    "onSelect-input"?: ((...args: any[]) => any) | undefined;
}>, {
    props: any;
    tselectRef: import("vue").Ref<any, any>;
    filteredOptionsCount: import("vue").Ref<number, number>;
    slots: Readonly<{
        [name: string]: import("vue").Slot<any> | undefined;
    }>;
    emits: (event: "update:modelValue" | "change" | "input" | "select-input", ...args: any[]) => void;
    childSelectedValue: import("vue").WritableComputedRef<any, any>;
    currentOptions: import("vue").Ref<any, any>;
    cachedOptions: import("vue").Ref<Map<any, any> & Omit<Map<any, any>, keyof Map<any, any>>, Map<any, any> | (Map<any, any> & Omit<Map<any, any>, keyof Map<any, any>>)>;
    mergedOptions: import("vue").ComputedRef<any[]>;
    handlesSelectInput: (e: any) => void;
    handlesChange: (value: any) => void;
    selectChecked: import("vue").WritableComputedRef<boolean, any>;
    selectAll: (val: any) => void;
    customLabelHandler: (_item: any) => any;
    clear: () => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change" | "input" | "select-input")[], "update:modelValue" | "change" | "input" | "select-input", {
    isShowPagination: boolean;
    useVirtual: boolean;
    modelValue: any;
    multiple: boolean;
    valueCustom: string;
    labelCustom: string;
    customLabel: string;
    optionSource: unknown[];
    filterable: boolean;
    paginationOption: Record<string, any>;
    returnObject: boolean;
    isCached: boolean;
    isRadioEchoLabel: boolean;
    radioSelectValLabel: string;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]>) & Record<string, any>;
export default TSelect;
export * from './src/type';
