import {ReactNode} from 'react';
import {
  FocusEvent,
  BlurEvent,
  TextInputProps as RNTextInputProps,
} from 'react-native';
import {InputContainerProps} from '@components/InputContainer';

export interface TextInputProps
  extends Omit<RNTextInputProps, 'children' | 'onPress'>,
    InputContainerProps {
  InnerLeftComponent?: ReactNode;
  InnerRightComponent?: ReactNode;
  formatText?: (value: string) => string;
  showPlaceholderOnFocus?: boolean;
  useBottomSheetTextInput?: boolean;
}

export interface TextInputControllerProps extends TextInputProps {
  name: string;
  formatText?: (text: string) => string;
  onBlur?: (e: BlurEvent) => void;
  handleFocus?: (e: FocusEvent, changeTex?: (text: string) => void) => void;
}
