import React, { ChangeEvent } from 'react';
import { FieldError } from 'react-hook-form';

interface DateRangePickerInputProps {
    from: Date;
    to: Date;
}
type InputProps = {
    name: string;
    onChange: (e: ChangeEvent<HTMLInputElement>) => void;
    error?: boolean | string | {
        message?: string;
    } | null | undefined | FieldError;
    label?: string | null;
    placeholder?: string | undefined;
    value?: string | boolean | number | Date | Date[] | DateRangePickerInputProps;
    inputClassName?: string | null;
    labelClassName?: string | null;
    errorClassName?: string | null;
    prepend?: React.ReactNode | JSX.Element | null;
    prependClassName?: string | null;
    append?: React.ReactNode | JSX.Element | null;
    appendClassName?: string | null;
    disableShrink?: boolean;
    disabled?: boolean;
} & React.InputHTMLAttributes<HTMLInputElement>;

interface NumberInputProps extends InputProps {
    name: string;
    value?: string | number;
    onChange: (event: {
        target: {
            name: string;
            value: string | number;
        };
    }) => void;
}
declare const NumberInput: React.ForwardRefExoticComponent<NumberInputProps & React.RefAttributes<HTMLInputElement>>;

export { type NumberInputProps, NumberInput as default };
