import type { ChangeEventHandler, CompositionEventHandler, FocusEventHandler, InputStatus, KeyboardEventHandler, MouseEventHandler, SizeType, VueNode } from '@antdv/ui/es/types'; import type { ExtractPropTypes, PropType } from 'vue'; import type { InputFocusOptions } from './utils/commonUtils'; export declare const inputDefaultValue: string; export declare function commonInputProps(): { addonBefore: any; addonAfter: any; prefix: any; suffix: any; clearIcon: any; affixWrapperClassName: StringConstructor; groupClassName: StringConstructor; wrapperClassName: StringConstructor; inputClassName: StringConstructor; allowClear: { type: BooleanConstructor; default: any; }; }; export declare function baseInputProps(): { value: { type: PropType; default: any; }; defaultValue: { type: PropType; default: any; }; inputElement: any; prefixCls: StringConstructor; disabled: { type: BooleanConstructor; default: any; }; focused: { type: BooleanConstructor; default: any; }; triggerFocus: PropType<() => void>; readonly: { type: BooleanConstructor; default: any; }; handleReset: PropType; hidden: { type: BooleanConstructor; default: any; }; addonBefore: any; addonAfter: any; prefix: any; suffix: any; clearIcon: any; affixWrapperClassName: StringConstructor; groupClassName: StringConstructor; wrapperClassName: StringConstructor; inputClassName: StringConstructor; allowClear: { type: BooleanConstructor; default: any; }; }; export declare function inputProps(): { id: StringConstructor; placeholder: { type: PropType; }; autocomplete: StringConstructor; type: { type: PropType<"number" | "button" | "search" | "time" | "reset" | "submit" | "hidden" | "image" | "text" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "tel" | "datetime-local" | "file" | "month" | "password" | "week">; default: "number" | "button" | "search" | "time" | "reset" | "submit" | "hidden" | "image" | "text" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "tel" | "datetime-local" | "file" | "month" | "password" | "week"; }; name: StringConstructor; size: { type: PropType; }; autofocus: { type: BooleanConstructor; default: any; }; lazy: { type: BooleanConstructor; default: boolean; }; maxlength: NumberConstructor; loading: { type: BooleanConstructor; default: any; }; bordered: { type: BooleanConstructor; default: any; }; showCount: { type: PropType; }; htmlSize: NumberConstructor; onPressEnter: PropType; onKeydown: PropType; onKeyup: PropType; onFocus: PropType; onBlur: PropType; onChange: PropType; onInput: PropType; 'onUpdate:value': PropType<(val: string) => void>; onCompositionstart: PropType; onCompositionend: PropType; valueModifiers: ObjectConstructor; hidden: { type: BooleanConstructor; default: any; }; status: PropType; value: { type: PropType; default: any; }; defaultValue: { type: PropType; default: any; }; inputElement: any; prefixCls: StringConstructor; disabled: { type: BooleanConstructor; default: any; }; focused: { type: BooleanConstructor; default: any; }; triggerFocus: PropType<() => void>; readonly: { type: BooleanConstructor; default: any; }; handleReset: PropType; addonBefore: any; addonAfter: any; prefix: any; suffix: any; clearIcon: any; affixWrapperClassName: StringConstructor; groupClassName: StringConstructor; wrapperClassName: StringConstructor; inputClassName: StringConstructor; allowClear: { type: BooleanConstructor; default: any; }; }; export type InputProps = Partial>>; export interface ShowCountProps { formatter: (args: { count: number; maxlength?: number; value?: string; }) => VueNode; } export interface InputRef { focus: (options?: InputFocusOptions) => void; blur: () => void; setSelectionRange: (start: number, end: number, direction?: 'forward' | 'backward' | 'none') => void; select: () => void; input: HTMLInputElement | null; }