import type { PropType, ExtractPropTypes } from "vue";
import type { UiTypes } from "@various/constants";
export declare const UiInputPropsOption: {
    readonly classExtraName: {
        readonly type: StringConstructor;
    }; /**候选项类名 */
    readonly autocomplete: {
        readonly type: StringConstructor;
        readonly values: readonly ["off", "on"];
        readonly default: "off";
    };
    readonly placeholder: {
        readonly type: StringConstructor;
    }; /**提示文本 */
    readonly widthExtra: {
        readonly type: NumberConstructor;
    }; /**候选项尺寸 */
    readonly modelValue: {
        readonly type: PropType<string | number>;
        readonly required: true;
    };
    readonly candidates: {
        readonly type: PropType<UiTypes.candidate[]>;
        readonly default: readonly [];
    }; /**候选项 */
    readonly maxlength: {
        readonly type: NumberConstructor;
    };
    readonly animation: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly clearable: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    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 height: {
        readonly type: NumberConstructor;
        readonly default: 240;
    };
    readonly zIndex: {
        readonly type: NumberConstructor;
        readonly default: 66;
    };
    readonly width: {
        readonly type: PropType<string | number>;
        readonly default: 264;
    };
    readonly type: {
        readonly type: PropType<"number" | "search" | "text" | "email" | "password" | "tel">;
        readonly default: "text";
    };
    readonly size: {
        readonly type: PropType<UiTypes.size>;
        readonly default: "default";
    };
    readonly name: {
        readonly type: StringConstructor;
    };
};
export type UiInputProps = ExtractPropTypes<typeof UiInputPropsOption>;
export declare const UiInputEmits: {
    "update:modelValue": (_value: any) => boolean;
    "before-enter": () => boolean;
    "before-leave": () => boolean;
    "after-enter": () => boolean;
    "after-leave": () => boolean;
    select: (_ev: Event, _data: UiTypes.candidate) => boolean;
    change: (_ev: Event) => boolean;
    enter: (_ev: KeyboardEvent | Event) => boolean;
    input: (_ev: InputEvent | Event) => boolean;
    focus: (_ev: FocusEvent | Event) => boolean;
    clear: () => boolean;
    blur: (_ev: FocusEvent | Event) => boolean;
};
