import type { PropType, Plugin, ExtractPropTypes } from 'vue';
import { Option } from '../vc-select';
import type { OptionProps as OptionPropsType } from '../vc-select/Option';
declare type RawValue = string | number;
export declare type OptionProps = OptionPropsType;
export declare type OptionType = typeof Option;
export interface LabeledValue {
    key?: string;
    value: RawValue;
    label: any;
}
export declare type SelectValue = RawValue | RawValue[] | LabeledValue | LabeledValue[] | undefined;
export declare const selectProps: () => {
    value: {
        type: PropType<SelectValue>;
    };
    defaultValue: {
        type: PropType<SelectValue>;
    };
    notFoundContent: import("vue-types").VueTypeValidableDef<any>;
    suffixIcon: import("vue-types").VueTypeValidableDef<any>;
    itemIcon: import("vue-types").VueTypeValidableDef<any>;
    size: import("vue-types").VueTypeDef<"small" | "default" | "middle" | "large">;
    mode: import("vue-types").VueTypeDef<"multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE">;
    bordered: import("vue-types").VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    transitionName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    } & {
        default: string;
    };
    choiceTransitionName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    } & {
        default: string;
    };
};
export declare type SelectProps = Partial<ExtractPropTypes<ReturnType<typeof selectProps>>>;
export declare const SelectOption: any;
export declare const SelectOptGroup: any;
declare const _default: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            bordered: boolean;
            transitionName: string;
            choiceTransitionName: string;
        }> & Omit<Readonly<{
            value?: unknown;
            defaultValue?: unknown;
            notFoundContent?: unknown;
            suffixIcon?: unknown;
            itemIcon?: unknown;
            size?: unknown;
            mode?: unknown;
            bordered?: unknown;
            transitionName?: unknown;
            choiceTransitionName?: unknown;
        } & {
            bordered: boolean;
            transitionName: string;
            choiceTransitionName: string;
        } & {
            value?: SelectValue;
            mode?: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
            size?: "small" | "default" | "middle" | "large";
            notFoundContent?: any;
            defaultValue?: SelectValue;
            suffixIcon?: any;
            itemIcon?: any;
        }> & {
            onBlur?: (...args: any[]) => any;
            onChange?: (...args: any[]) => any;
            "onUpdate:value"?: (...args: any[]) => any;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "bordered" | "transitionName" | "choiceTransitionName">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
        $emit: (event: "blur" | "change" | "update:value", ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<{
            value?: unknown;
            defaultValue?: unknown;
            notFoundContent?: unknown;
            suffixIcon?: unknown;
            itemIcon?: unknown;
            size?: unknown;
            mode?: unknown;
            bordered?: unknown;
            transitionName?: unknown;
            choiceTransitionName?: unknown;
        } & {
            bordered: boolean;
            transitionName: string;
            choiceTransitionName: string;
        } & {
            value?: SelectValue;
            mode?: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
            size?: "small" | "default" | "middle" | "large";
            notFoundContent?: any;
            defaultValue?: SelectValue;
            suffixIcon?: any;
            itemIcon?: any;
        }> & {
            onBlur?: (...args: any[]) => any;
            onChange?: (...args: any[]) => any;
            "onUpdate:value"?: (...args: any[]) => any;
        }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("blur" | "change" | "update:value")[], string, {
            bordered: boolean;
            transitionName: string;
            choiceTransitionName: string;
        }> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<{
        value?: unknown;
        defaultValue?: unknown;
        notFoundContent?: unknown;
        suffixIcon?: unknown;
        itemIcon?: unknown;
        size?: unknown;
        mode?: unknown;
        bordered?: unknown;
        transitionName?: unknown;
        choiceTransitionName?: unknown;
    } & {
        bordered: boolean;
        transitionName: string;
        choiceTransitionName: string;
    } & {
        value?: SelectValue;
        mode?: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
        size?: "small" | "default" | "middle" | "large";
        notFoundContent?: any;
        defaultValue?: SelectValue;
        suffixIcon?: any;
        itemIcon?: any;
    }> & {
        onBlur?: (...args: any[]) => any;
        onChange?: (...args: any[]) => any;
        "onUpdate:value"?: (...args: any[]) => any;
    } & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & {} & import("vue").ComponentCustomProperties;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<{
    value?: unknown;
    defaultValue?: unknown;
    notFoundContent?: unknown;
    suffixIcon?: unknown;
    itemIcon?: unknown;
    size?: unknown;
    mode?: unknown;
    bordered?: unknown;
    transitionName?: unknown;
    choiceTransitionName?: unknown;
} & {
    bordered: boolean;
    transitionName: string;
    choiceTransitionName: string;
} & {
    value?: SelectValue;
    mode?: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
    size?: "small" | "default" | "middle" | "large";
    notFoundContent?: any;
    defaultValue?: SelectValue;
    suffixIcon?: any;
    itemIcon?: any;
}> & {
    onBlur?: (...args: any[]) => any;
    onChange?: (...args: any[]) => any;
    "onUpdate:value"?: (...args: any[]) => any;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("blur" | "change" | "update:value")[], "blur" | "change" | "update:value", {
    bordered: boolean;
    transitionName: string;
    choiceTransitionName: string;
}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Plugin & {
    readonly Option: any;
    readonly OptGroup: any;
    readonly SECRET_COMBOBOX_MODE_DO_NOT_USE: 'SECRET_COMBOBOX_MODE_DO_NOT_USE';
};
export default _default;
