import { ButtonProps } from "../Button/Button.types.js";
import { AllHTMLAttributes, ChangeEvent, MouseEvent, ReactNode } from "react";

//#region src/components/InputText/InputText.types.d.ts
interface InputTextProps extends Omit<AllHTMLAttributes<HTMLInputElement>, 'label' | 'onChange' | 'prefix'> {
  autoFocus?: boolean;
  button?: {
    position?: 'left' | 'right';
  } & Omit<ButtonProps, 'onClick' | 'variant'>;
  defaultValue?: number | string;
  description?: ReactNode;
  disabled?: boolean;
  error?: Error | ReactNode;
  extraSmall?: boolean;
  forceIsInDialog?: boolean;
  fullWidth?: boolean;
  id?: string;
  label?: ReactNode;
  labelElement?: keyof HTMLElementTagNameMap;
  name?: string;
  placeholder?: string;
  prefix?: ReactNode;
  readOnly?: boolean;
  required?: boolean;
  selectOnFocus?: boolean;
  success?: ReactNode;
  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;
}
//#endregion
export { InputTextProps };
//# sourceMappingURL=InputText.types.d.ts.map