import { ViewStyle, TextStyle } from "react-native";

export type Props = {
  questId: string;
  userId: string;
  token: string;
  ratingType?: string;
  buttonType?: string;
  handleUserCross?: () => void;
  setModalVisibilityParent?: (isVisible: boolean) => void;
  setLoading?: (isVisible: boolean) => void;
  setMain?: (isVisible: boolean) => void;
  onBackFromSurvey?: () => void;
  template?: string;
  setSuccess?: ((isVisible: boolean) => void) | undefined;
  selectedQuestData?: IQuest;
  modalVisiblityParent: boolean;
  starColor?: string;
  multipleChoice?: string;
  style?: styles
};

export interface ICriteria {
  criteriaId: string;
  criteriaType: string;
  title: string;
  options?: (string | number)[];
  answer: (string | number)[];
}

export interface IQuest {
  questId: string;
  questName: string;
  questDescription: string;
  criterias: ICriteria[];
  answer: (string | number)[] | { rating: number };
  session: string;
}

export interface styles {
  mainViewStyle?: ViewStyle;
  questsView?: ViewStyle;
  questsNameText?: TextStyle;
  questsDescriptionText?: TextStyle;
  footerText?: TextStyle;
  modalOutterViewStyle?: ViewStyle;
  modalInnerViewStyle?: ViewStyle;
  modalHeaderViewStyle?: ViewStyle;
  modalHeaderInlineViewStyle?: ViewStyle;
  modalHeaderTextStyle?: TextStyle;
  modalHeaderDescriptionStyle?: TextStyle;
  inputHeaderTextStyle?: TextStyle;
  inputViewStyle?: ViewStyle;
}