// Copyright © 2022 Olo Inc. All rights reserved.
// This software is made available under the Olo Pay SDK License (See LICENSE.md file)
import type { NativeSyntheticEvent, ViewProps } from 'react-native';
import type {
  CustomFieldError,
  CvvDetails,
  FontWeight,
} from '../..//definitions';

export interface CvvDetailsNativeViewStyles {
  backgroundColor?: string;
  borderColor?: string;
  borderWidth?: number;
  cornerRadius?: number;
  cursorColor?: string;
  fontFamily?: string;
  fontSize?: number;
  placeholderColor?: string;
  textColor?: string;
  errorTextColor?: string;
  textPaddingLeft?: number;
  textPaddingRight?: number;
  fontWeight?: FontWeight;
  italic?: boolean;
  textAlign?: 'left' | 'center' | 'right';
}

export interface CvvDetailsNativeProps extends ViewProps {
  cvvStyles?: CvvDetailsNativeViewStyles;
  customErrorMessages?: CustomFieldError;
  isEnabled?: boolean;
  placeholder?: string;
  onBlurEvent(event: NativeSyntheticEvent<CvvDetails>): void;
  onCvvChangeEvent(event: NativeSyntheticEvent<CvvDetails>): void;
  onFocusEvent(event: NativeSyntheticEvent<CvvDetails>): void;
}
