import type { ExtractPropTypes, StyleValue } from 'vue';
import type { EmitFn } from 'vuesax-alpha/es/utils';
import type Input from './input.vue';
export declare type InputValue = string | number | null | undefined;
export declare const inputProps: {
    readonly clearable: import("vuesax-alpha/es/utils").VsPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly color: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<StringConstructor, "primary" | "success" | "danger" | "warn" | "dark" | "text" | "light" | "secondary" | "facebook" | "twitter" | "youtube" | "pinterest" | "linkedin" | "snapchat" | "whatsapp" | "tumblr" | "reddit" | "spotify" | "amazon" | "medium" | "vimeo" | "skype" | "dribbble" | "slack" | "yahoo" | "twitch" | "discord" | "telegram" | "google-plus" | "messenger", import("vuesax-alpha/es/constants").Color>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly disabled: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly iconAfter: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly id: import("vuesax-alpha/es/utils").VsPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
    readonly inputStyle: import("vuesax-alpha/es/utils").VsPropFinalized<StringConstructor, "border" | "shadow" | "transparent", unknown, null, boolean>;
    readonly labelFloat: import("vuesax-alpha/es/utils").VsPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly label: import("vuesax-alpha/es/utils").VsPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
    readonly loading: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly modelValue: import("vuesax-alpha/es/utils").VsPropFinalized<(new (...args: any[]) => InputValue & {}) | (() => InputValue) | ((new (...args: any[]) => InputValue & {}) | (() => InputValue))[], unknown, unknown, "", boolean>;
    readonly placeholder: import("vuesax-alpha/es/utils").VsPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
    readonly progress: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly shape: import("vuesax-alpha/es/utils").VsPropFinalized<StringConstructor, "square" | "rounded", unknown, "rounded", boolean>;
    readonly showPassword: import("vuesax-alpha/es/utils").VsPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly state: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<StringConstructor, "primary" | "success" | "danger" | "warn" | "dark" | "text" | "light" | "secondary" | "facebook" | "twitter" | "youtube" | "pinterest" | "linkedin" | "snapchat" | "whatsapp" | "tumblr" | "reddit" | "spotify" | "amazon" | "medium" | "vimeo" | "skype" | "dribbble" | "slack" | "yahoo" | "twitch" | "discord" | "telegram" | "google-plus" | "messenger", import("vuesax-alpha/es/constants").Color>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly textWhite: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly type: import("vuesax-alpha/es/utils").VsPropFinalized<StringConstructor, unknown, unknown, "text", boolean>;
    readonly wrapClasses: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly wrapStyles: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<(new (...args: any[]) => StyleValue & {}) | (() => StyleValue) | ((new (...args: any[]) => StyleValue & {}) | (() => StyleValue))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly block: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly border: BooleanConstructor;
    readonly labelPlaceholder: StringConstructor;
    readonly shadow: BooleanConstructor;
    readonly square: BooleanConstructor;
    readonly transparent: BooleanConstructor;
};
export declare const inputEmits: {
    "update:modelValue": (text: InputValue) => boolean;
    /**
     * @description triggers when clicking the icon
     */
    clickIcon: (evt: Event) => boolean;
    /**
     * @description triggers when the Input is cleared by clicking the clear button
     */
    mouseleave: (evt: MouseEvent) => boolean;
    mouseenter: (evt: MouseEvent) => boolean;
    clear: () => boolean;
    input: (value: string) => boolean;
    change: (value: string) => boolean;
    focus: (evt: FocusEvent) => boolean;
    blur: (evt: FocusEvent) => boolean;
    keydown: (evt: KeyboardEvent | Event) => boolean;
};
export declare type InputEmits = typeof inputEmits;
export declare type InputEmitsFn = EmitFn<InputEmits>;
export declare type InputProps = ExtractPropTypes<typeof inputProps>;
export declare type InputInstance = InstanceType<typeof Input>;
