import { InputProps, InputEvents, InputBlurEvent, InputFocusEvent, InputChangeEvent } from './types';
import { IconDef } from '../types';
import { IconProps } from '../Icon';
import { VNode } from 'vue/types/umd';
import { BlockContext } from '../_utils/classHelper';
import { FormFieldInnerMethods } from '../Form/types';
export interface InputMethods extends FormFieldInnerMethods {
    stateValue: any;
    showPassword: boolean;
    isInputFocus: boolean;
    renderTextArea: () => JSX.Element;
    getAdornment: (adornment?: IconDef | IconProps | string) => VNode | undefined;
    handleFocus: (e: InputFocusEvent) => void;
    handleBlur: (e: InputFocusEvent) => void;
    handleChange: (e: InputChangeEvent) => void;
    handleKeyDown: (e: KeyboardEvent) => void;
    togglePassword: (e: Event) => void;
    clear: (e: Event) => void;
}
declare const Input: import("vue-tsx-support")._TsxComponentV3<import("vue").default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => import("vue").default<Record<string, any>, Record<string, any>, never, never, any>> & InputMethods & import("../_utils/defineComponent").OhuComponentInnerProps & {
    [x: string]: any;
} & {
    setFieldValue(value: any): void;
    initFieldValue(initValue?: any): any;
} & {
    showPassword: boolean;
    isInputFocus: boolean;
} & {
    togglePassword(e: Event): void;
    clear(e: Event): void;
    focus(): void;
    blur(): void;
    handleBlur(e: InputBlurEvent): void;
    handleFocus(e: InputFocusEvent): void;
    handleChange(e: InputChangeEvent): void;
    handleKeyDown(e: KeyboardEvent): void;
    getAdornment(adornment?: IconDef | IconProps | string): import("vue").VNode | undefined;
    renderInput(root: BlockContext, attrs: Record<string, any>): VueTsxSupport.JSX.Element | (false | import("vue").VNode | undefined)[];
} & {
    name: string | undefined;
    type: string;
    outline: boolean;
    value: any;
    allowClear: boolean;
    allowTogglePassword: boolean;
    noBorder: boolean;
    disabled: boolean;
    readonly: boolean;
    placeholder: string;
    startAdornment: string | import("@ohu-mobile/icons/lib/types").SVGIconDef | IconProps | undefined;
    endAdornment: string | import("@ohu-mobile/icons/lib/types").SVGIconDef | IconProps | undefined;
    max: string | number | undefined;
    min: string | number | undefined;
    maxlength: string | number | undefined;
    minlength: string | number | undefined;
    multiple: boolean | undefined;
    tabindex: string | number | undefined;
    step: string | number | undefined;
    size: string | number | undefined;
    required: boolean;
    pattern: string | undefined;
    accept: string | number | undefined;
    autocomplete: string | undefined;
    autofocus: boolean;
    autosave: string | undefined;
    rows: string | number | undefined;
    cols: string | number | undefined;
}, {}, {} & {
    name?: string | undefined;
    type?: string | undefined;
    tabindex?: string | number | undefined;
    size?: string | number | undefined;
    disabled?: boolean | undefined;
    value?: any;
    placeholder?: string | undefined;
    rows?: string | number | undefined;
    outline?: boolean | undefined;
    multiple?: boolean | undefined;
    max?: string | number | undefined;
    required?: boolean | undefined;
    noBorder?: boolean | undefined;
    allowClear?: boolean | undefined;
    allowTogglePassword?: boolean | undefined;
    readonly?: boolean | undefined;
    startAdornment?: string | import("@ohu-mobile/icons/lib/types").SVGIconDef | IconProps | undefined;
    endAdornment?: string | import("@ohu-mobile/icons/lib/types").SVGIconDef | IconProps | undefined;
    min?: string | number | undefined;
    maxlength?: string | number | undefined;
    minlength?: string | number | undefined;
    step?: string | number | undefined;
    pattern?: string | undefined;
    accept?: string | number | undefined;
    autocomplete?: string | undefined;
    autofocus?: boolean | undefined;
    autosave?: string | undefined;
    cols?: string | number | undefined;
} & InputProps, InputEvents, {}, {}>;
export default Input;
