import { ITouchEvent } from "@vnxjs/components";
import { BaseEventOrig } from "@vnxjs/components/types/common";
import { InputProps as VnmfInputProps } from "@vnxjs/components/types/Input";
import { ReactNode } from "react";
import { InputAlign, InputClearTrigger, InputColor } from "./input.shared";
export declare function resolveOnChange<E extends VnmfInputProps.inputEventDetail | VnmfInputProps.inputValueEventDetail, E2 extends VnmfInputProps.inputEventDetail | VnmfInputProps.inputValueEventDetail>(e: BaseEventOrig<E>, onChange: undefined | ((event: BaseEventOrig<E2>) => void), detailValue?: string): void;
export interface InputProps extends VnmfInputProps {
    placeholderClassName?: string;
    readonly?: boolean;
    align?: InputAlign;
    color?: InputColor;
    clearable?: boolean;
    clearIcon?: ReactNode;
    clearTrigger?: InputClearTrigger;
    onClear?(event: ITouchEvent): void;
    onChange?(event: BaseEventOrig<VnmfInputProps.inputEventDetail>): void;
}
declare function Input(props: InputProps): JSX.Element;
export default Input;
