import { ChangeEvent, ReactNode } from "react";
import { TextareaAutosizeProps } from "react-textarea-autosize";

//#region src/components/Textarea/Textarea.types.d.ts
interface TextareaProps extends Omit<TextareaAutosizeProps, 'onChange' | 'onHeightChange'> {
  autoFocus?: boolean;
  defaultValue?: number | string;
  description?: ReactNode;
  disabled?: boolean;
  error?: Error | ReactNode;
  fullWidth?: boolean;
  icon?: ReactNode;
  iconButtonLabel?: string;
  iconDisabled?: boolean;
  id?: string;
  label?: ReactNode;
  labelElement?: keyof HTMLElementTagNameMap;
  maxRows?: number;
  minRows?: number;
  name?: string;
  placeholder?: string;
  readOnly?: boolean;
  required?: boolean;
  selectOnFocus?: boolean;
  success?: ReactNode;
  value?: number | string;
  onChange?: (event: ChangeEvent<HTMLTextAreaElement>, newValue: string) => void;
  onHeightChange?: TextareaAutosizeProps['onHeightChange'];
  onIconClick?: () => void;
}
//#endregion
export { TextareaProps };
//# sourceMappingURL=Textarea.types.d.ts.map