import { FormControlProps, FormControlSlots } from '@vue-interface/form-control';
import { HTMLAttributes } from 'vue';
export type InputFieldControlSizePrefix = 'form-control';
export type InputFieldProps<ModelValue, Value> = FormControlProps<HTMLAttributes, InputFieldControlSizePrefix, ModelValue, Value> & {
    clearable?: boolean;
};
declare const _default: <ModelValue, Value>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
        readonly onInput?: ((event: Event) => any) | undefined;
        readonly onSelect?: ((event: Event) => any) | undefined;
        readonly onBlur?: ((event: FocusEvent) => any) | undefined;
        readonly onFocus?: ((event: FocusEvent) => any) | undefined;
        readonly onFocusin?: ((event: FocusEvent) => any) | undefined;
        readonly onFocusout?: ((event: FocusEvent) => any) | undefined;
        readonly onClick?: ((event: MouseEvent) => any) | undefined;
        readonly onDoubleclick?: ((event: MouseEvent) => any) | undefined;
        readonly onContextmenu?: ((event: MouseEvent) => any) | undefined;
        readonly onMousedown?: ((event: MouseEvent) => any) | undefined;
        readonly onMouseup?: ((event: MouseEvent) => any) | undefined;
        readonly onMouseover?: ((event: MouseEvent) => any) | undefined;
        readonly onMouseout?: ((event: MouseEvent) => any) | undefined;
        readonly onMouseenter?: ((event: MouseEvent) => any) | undefined;
        readonly onMouseleave?: ((event: MouseEvent) => any) | undefined;
        readonly onMousemove?: ((event: MouseEvent) => any) | undefined;
        readonly onKeydown?: ((event: KeyboardEvent) => any) | undefined;
        readonly onKeyup?: ((event: KeyboardEvent) => any) | undefined;
        readonly onKeypress?: ((event: KeyboardEvent) => any) | undefined;
        readonly onSelectionchange?: ((event: Event) => any) | undefined;
        readonly onInvalid?: ((event: Event) => any) | undefined;
        readonly onSubmit?: ((event: Event) => any) | undefined;
        readonly onReset?: ((event: Event) => any) | undefined;
        readonly onScroll?: ((event: Event) => any) | undefined;
        readonly onWheel?: ((event: WheelEvent) => any) | undefined;
        readonly onCopy?: ((event: ClipboardEvent) => any) | undefined;
        readonly onCut?: ((event: ClipboardEvent) => any) | undefined;
        readonly onPaste?: ((event: ClipboardEvent) => any) | undefined;
        readonly onTouchstart?: ((event: TouchEvent) => any) | undefined;
        readonly onTouchend?: ((event: TouchEvent) => any) | undefined;
        readonly onTouchmove?: ((event: TouchEvent) => any) | undefined;
        readonly onTouchcancel?: ((event: TouchEvent) => any) | undefined;
        readonly onChange?: ((event: Event) => any) | undefined;
        readonly onBeforeinput?: ((event: Event) => any) | undefined;
        readonly "onUpdate:modelValue"?: ((value: ModelValue) => any) | undefined;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onCopy" | "onCut" | "onPaste" | "onFocus" | "onFocusin" | "onFocusout" | "onBlur" | "onChange" | "onBeforeinput" | "onInput" | "onReset" | "onSubmit" | "onInvalid" | "onKeydown" | "onKeypress" | "onKeyup" | "onMousedown" | "onMouseenter" | "onMouseleave" | "onMousemove" | "onMouseout" | "onMouseover" | "onMouseup" | "onSelect" | "onScroll" | "onTouchcancel" | "onTouchend" | "onTouchmove" | "onTouchstart" | "onClick" | "onContextmenu" | "onWheel" | "onDoubleclick" | "onSelectionchange" | "onUpdate:modelValue"> & ({
        modelValue?: ModelValue;
    } & {
        activity?: boolean;
        disabled?: boolean;
        error?: import('@vue-interface/form-control').FormControlErrorProp;
        errors?: import('@vue-interface/form-control').FormControlErrorPropArray | import('@vue-interface/form-control').FormControlErrorPropRecord;
        feedback?: import('@vue-interface/form-control').FormControlFeedbackProp;
        formControlClass?: string;
        helpText?: string;
        id?: string;
        indicator?: import('vue').Component;
        indicatorSize?: import('@vue-interface/sizeable').ComponentSize<import('@vue-interface/activity-indicator').ActivityIndicatorSizePrefix>;
        invalid?: boolean;
        label?: string;
        labelClass?: string;
        modelValue?: ModelValue | undefined;
        name?: string;
        plaintext?: boolean;
        size?: import('@vue-interface/form-control').FormControlSize<"form-control"> | undefined;
        color?: string;
        readonly?: boolean;
        valid?: boolean;
        value?: Value | undefined;
    } & Omit<HTMLAttributes, "size"> & {
        clearable?: boolean;
    }) & Partial<{}>> & import('vue').PublicProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{
        activity: Readonly<import('vue').ShallowRef<import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
            size?: import('@vue-interface/activity-indicator').ActivityIndicatorSize;
            type: import('vue').Component;
        }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
            size: import('@vue-interface/activity-indicator').ActivityIndicatorSize;
        }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<{
            size?: import('@vue-interface/activity-indicator').ActivityIndicatorSize;
            type: import('vue').Component;
        }> & Readonly<{}>, {}, {}, {}, {}, {
            size: import('@vue-interface/activity-indicator').ActivityIndicatorSize;
        }> | null>>;
        help: Readonly<import('vue').ShallowRef<HTMLElement | null>>;
        field: Readonly<import('vue').ShallowRef<HTMLInputElement | null>>;
        label: Readonly<import('vue').ShallowRef<HTMLLabelElement | null>>;
        wrapper: Readonly<import('vue').ShallowRef<HTMLDivElement | null>>;
        focus: () => void | undefined;
        blur: () => void | undefined;
    }>): void;
    attrs: any;
    slots: Readonly<FormControlSlots<"form-control", ModelValue>> & FormControlSlots<"form-control", ModelValue>;
    emit: (((evt: "input", event: Event) => void) & ((evt: "select", event: Event) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "focusin", event: FocusEvent) => void) & ((evt: "focusout", event: FocusEvent) => void) & ((evt: "click", event: MouseEvent) => void) & ((evt: "doubleclick", event: MouseEvent) => void) & ((evt: "contextmenu", event: MouseEvent) => void) & ((evt: "mousedown", event: MouseEvent) => void) & ((evt: "mouseup", event: MouseEvent) => void) & ((evt: "mouseover", event: MouseEvent) => void) & ((evt: "mouseout", event: MouseEvent) => void) & ((evt: "mouseenter", event: MouseEvent) => void) & ((evt: "mouseleave", event: MouseEvent) => void) & ((evt: "mousemove", event: MouseEvent) => void) & ((evt: "keydown", event: KeyboardEvent) => void) & ((evt: "keyup", event: KeyboardEvent) => void) & ((evt: "keypress", event: KeyboardEvent) => void) & ((evt: "selectionchange", event: Event) => void) & ((evt: "invalid", event: Event) => void) & ((evt: "submit", event: Event) => void) & ((evt: "reset", event: Event) => void) & ((evt: "scroll", event: Event) => void) & ((evt: "wheel", event: WheelEvent) => void) & ((evt: "copy", event: ClipboardEvent) => void) & ((evt: "cut", event: ClipboardEvent) => void) & ((evt: "paste", event: ClipboardEvent) => void) & ((evt: "touchstart", event: TouchEvent) => void) & ((evt: "touchend", event: TouchEvent) => void) & ((evt: "touchmove", event: TouchEvent) => void) & ((evt: "touchcancel", event: TouchEvent) => void) & ((evt: "change", event: Event) => void) & ((evt: "beforeinput", event: Event) => void)) & ((evt: "update:modelValue", value: ModelValue) => void);
}>) => import('vue').VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
