export declare const UiSelect: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    readonly classExtraName: {
        readonly type: StringConstructor;
    };
    readonly placeholder: {
        readonly type: StringConstructor;
    };
    readonly modelValue: {
        readonly required: true;
    };
    readonly widthExtra: {
        readonly type: NumberConstructor;
    };
    readonly candidates: {
        readonly type: import("vue").PropType<import("../..").UiTypes.candidate[]>;
        readonly required: true;
    };
    readonly clearable: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly animation: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly disabled: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly readonly: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly loading: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly resolve: {
        readonly type: import("vue").PropType<() => string>;
    };
    readonly height: {
        readonly type: NumberConstructor;
        readonly default: 240;
    };
    readonly zIndex: {
        readonly type: NumberConstructor;
        readonly default: 66;
    };
    readonly width: {
        readonly type: import("vue").PropType<string | number>;
        readonly default: 264;
    };
    readonly size: {
        readonly type: import("vue").PropType<import("../..").UiTypes.size>;
        readonly default: "default";
    };
    readonly name: {
        readonly type: StringConstructor;
    };
}>, {
    define: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
        readonly classExtraName: {
            readonly type: StringConstructor;
        };
        readonly placeholder: {
            readonly type: StringConstructor;
        };
        readonly modelValue: {
            readonly required: true;
        };
        readonly widthExtra: {
            readonly type: NumberConstructor;
        };
        readonly candidates: {
            readonly type: import("vue").PropType<import("../..").UiTypes.candidate[]>;
            readonly required: true;
        };
        readonly clearable: {
            readonly type: BooleanConstructor;
            readonly default: false;
        };
        readonly animation: {
            readonly type: BooleanConstructor;
            readonly default: true;
        };
        readonly disabled: {
            readonly type: BooleanConstructor;
            readonly default: false;
        };
        readonly readonly: {
            readonly type: BooleanConstructor;
            readonly default: false;
        };
        readonly loading: {
            readonly type: BooleanConstructor;
            readonly default: false;
        };
        readonly resolve: {
            readonly type: import("vue").PropType<() => string>;
        };
        readonly height: {
            readonly type: NumberConstructor;
            readonly default: 240;
        };
        readonly zIndex: {
            readonly type: NumberConstructor;
            readonly default: 66;
        };
        readonly width: {
            readonly type: import("vue").PropType<string | number>;
            readonly default: 264;
        };
        readonly size: {
            readonly type: import("vue").PropType<import("../..").UiTypes.size>;
            readonly default: "default";
        };
        readonly name: {
            readonly type: StringConstructor;
        };
    }>> & Readonly<{
        onClear?: ((_ev?: any) => any) | undefined;
        onChange?: ((_ev?: Event | undefined) => any) | undefined;
        "onBefore-enter"?: (() => any) | undefined;
        "onBefore-leave"?: (() => any) | undefined;
        "onAfter-enter"?: (() => any) | undefined;
        "onAfter-leave"?: (() => any) | undefined;
        "onUpdate:modelValue"?: ((_ev: any) => any) | undefined;
    }> & {}>;
    emits: ((event: "clear", _ev?: any) => void) & ((event: "change", _ev?: Event | undefined) => void) & ((event: "before-enter") => void) & ((event: "before-leave") => void) & ((event: "after-enter") => void) & ((event: "after-leave") => void) & ((event: "update:modelValue", _ev: any) => void);
    ons: {
        animation: {
            "before-leave": () => void | undefined;
            "before-enter": (el: Element) => void;
            leave: (el: Element, done: () => void) => void;
            enter: (el: Element, done: () => void) => void;
        };
        candidate: (option: import("../..").UiTypes.candidate) => {
            mousedown: (ev: Event) => void;
        };
    };
    vars: {
        observer: ResizeObserver | undefined;
    };
    refs: {
        visible: import("vue").Ref<boolean, boolean>;
    };
    binds: {
        main: {
            value: any;
            disabled: boolean;
            placeholder: string | undefined;
            autocomplete: string;
        };
        body: {
            class: string;
            style: {
                zIndex: number;
            };
        };
        container: {
            class: string;
            style: {
                width: string;
            };
        };
        candidates: {
            style: {
                maxHeight: string;
            };
        };
    };
    nodes: {
        body: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
        container: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
    };
    methods: {
        hidden: (ev?: Event | undefined) => void;
        clear: () => void;
        show: () => void;
    };
    visible: import("vue").Ref<boolean, boolean>;
    container: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
    body: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
    show: () => void;
    clear: () => void;
    hidden: (ev?: Event | undefined) => void;
    readonly UiIcon: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        readonly name: StringConstructor;
    }>, {
        define: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
            readonly name: StringConstructor;
        }>> & Readonly<{
            onClick?: ((_ev?: Event | MouseEvent | undefined) => any) | undefined;
        }> & {}>;
        emits: (event: "click", _ev?: Event | MouseEvent | undefined) => void;
        click: (ev: Event | MouseEvent) => void;
        name: import("vue").ComputedRef<string>;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        click: (_ev?: Event | MouseEvent | undefined) => boolean;
    }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        readonly name: StringConstructor;
    }>> & Readonly<{
        onClick?: ((_ev?: Event | MouseEvent | undefined) => any) | undefined;
    }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:modelValue": (_ev: any) => boolean;
    "before-enter": () => boolean;
    "before-leave": () => boolean;
    "after-enter": () => boolean;
    "after-leave": () => boolean;
    change: (_ev?: Event | undefined) => boolean;
    clear: (_ev?: any) => boolean;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    readonly classExtraName: {
        readonly type: StringConstructor;
    };
    readonly placeholder: {
        readonly type: StringConstructor;
    };
    readonly modelValue: {
        readonly required: true;
    };
    readonly widthExtra: {
        readonly type: NumberConstructor;
    };
    readonly candidates: {
        readonly type: import("vue").PropType<import("../..").UiTypes.candidate[]>;
        readonly required: true;
    };
    readonly clearable: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly animation: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly disabled: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly readonly: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly loading: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly resolve: {
        readonly type: import("vue").PropType<() => string>;
    };
    readonly height: {
        readonly type: NumberConstructor;
        readonly default: 240;
    };
    readonly zIndex: {
        readonly type: NumberConstructor;
        readonly default: 66;
    };
    readonly width: {
        readonly type: import("vue").PropType<string | number>;
        readonly default: 264;
    };
    readonly size: {
        readonly type: import("vue").PropType<import("../..").UiTypes.size>;
        readonly default: "default";
    };
    readonly name: {
        readonly type: StringConstructor;
    };
}>> & Readonly<{
    onClear?: ((_ev?: any) => any) | undefined;
    onChange?: ((_ev?: Event | undefined) => any) | undefined;
    "onBefore-enter"?: (() => any) | undefined;
    "onBefore-leave"?: (() => any) | undefined;
    "onAfter-enter"?: (() => any) | undefined;
    "onAfter-leave"?: (() => any) | undefined;
    "onUpdate:modelValue"?: ((_ev: any) => any) | undefined;
}>, {
    readonly loading: boolean;
    readonly zIndex: number;
    readonly animation: boolean;
    readonly height: number;
    readonly width: string | number;
    readonly size: import("../..").UiTypes.size;
    readonly disabled: boolean;
    readonly readonly: boolean;
    readonly clearable: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export * from "./default";
export default UiSelect;
