import { TextStyle, ViewStyle } from "react-native";

export interface Props {
  campaignVariationId?: string;
  questId?: string;
  questUserId?: string;
  userToken?: string;
  showDetailed?: boolean;
  // style?: styles;
  onClose?: () => void;
  isModal?: boolean;
  //new addition
  actions: ICriteria[];
  loading?: boolean;
  title: string;
  description: string;
  onClick?: (actionId: string) => void;
  isOffline?: boolean;
  onError?: (
    event: "VERIFY_ACTION" | "CLAIM_ACTION" | "INVAILD_LINK",
    message: string,
    data?: {}
  ) => void;
  styleConfig?: styleConfig;
  showProgressBar?: boolean;
  showFooter?: boolean;
}

export interface ICriteria {
  actionId: string;
  title: string;
  postlink: string;
  imageUrl: string;
  description: string;
  demoLink?: string;
  demoButtonText?: string;
  buttonText?: string;
  completed: boolean;
}

export interface IQuestDetails {
  title: string;
  descriptions: string;
}

export interface styleConfig {
  Form?: ViewStyle;
  Heading?: TextStyle;
  Description?: TextStyle;
  PrimaryButton?: ViewStyle | TextStyle;
  SecondaryButton?: ViewStyle | TextStyle;
  Footer?: {
    FooterStyle?: ViewStyle;
    FooterText?: TextStyle;
    FooterIcon?: TextStyle;
  };
  Card?: ViewStyle;
  ProgressBar?: {
    barColor?: string;
    ProgressText?: string;
    barParentColor?: string;
  };
  CardContainer?: ViewStyle;
  Icon?: ViewStyle;
  TopBar?: ViewStyle;
  Arrow?: {
    Background?: string;
    IconColor?: string;
    CompletedBackground?: string;
    CompletedIconColor?: string;
  };
}

// export interface styles {
//   cardHeaderText?: TextStyle;
//   startNowButtonView?: ViewStyle;
//   headerText?: TextStyle;
//   mainView?: ViewStyle;
//   cardView?: ViewStyle;
//   buttonView?: ViewStyle;
//   cardDesciptionText?: TextStyle;
//   startNowButton?: TextStyle;
//   descriptionText?: TextStyle;
//   progressBarTextStyle?: TextStyle;
//   progressBar?: ViewStyle;
//   progressBarInnerStyle?: ViewStyle;
//   visitWebButtonView?: ViewStyle;
//   visitWebButton?: TextStyle;
//   footerView?: ViewStyle;
// }
