import { AllHTMLAttributes, ReactNode, MouseEvent, ChangeEvent } from 'react';
import { B as ButtonProps } from './Button.types-CRRgJ8jv.js';

interface InputTextProps extends Omit<AllHTMLAttributes<HTMLInputElement>, 'onChange' | 'prefix'> {
    autoFocus?: boolean;
    button?: {
        position?: 'left' | 'right';
    } & Omit<ButtonProps, 'onClick' | 'variant'>;
    defaultValue?: number | string;
    description?: string;
    disabled?: boolean;
    error?: boolean | string;
    fullWidth?: boolean;
    id?: string;
    label?: string;
    name?: string;
    placeholder?: string;
    prefix?: ReactNode;
    readOnly?: boolean;
    required?: boolean;
    selectOnFocus?: boolean;
    success?: boolean | string;
    suffix?: ReactNode;
    type?: 'date' | 'datetime-local' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'time' | 'time' | 'url';
    value?: number | string;
    withButton?: boolean;
    withSpinButton?: boolean;
    onButtonClick?: (event: MouseEvent<HTMLElement>) => void;
    onChange?: (event: ChangeEvent<HTMLInputElement>, newValue: string) => void;
}

export type { InputTextProps as I };
