import { CSSProperties } from "styled-components"; import { ObjectiveData } from "./objective"; import { RewardData } from "./reward"; export declare type MissionMapComponentProps = { current?: number; themes: MissionThemeData[]; select?: (mission: number) => void; }; export declare type MissionTheme = "space" | "sky"; export declare type MissionMapComponentPropsNew = { missionPathData: PathDataV2[]; onNodeClick: (newValue: any) => void; root?: PathDataV2; backgroundTheme?: MissionTheme | string; isStandalone?: boolean; mapHeight?: number; }; export interface MissionTranslations { missionMenuHeader?: string; progressionResetDesc?: string; branchingPaths?: string; linearPath?: string; lockedString?: string; selectedMissionHeader?: string; missionLocked?: string; missionCompleted?: string; rewards?: string; pathNamePlaceholder?: string; } export interface MissionModule2Props { pathData: PathDataV2[]; backgroundTheme?: MissionTheme | string; isStandalone?: boolean; containerStyle?: CSSProperties; onCtaClick?: (cta: string) => void; onGetMission?: (pathId: string, missionNumber: number) => Promise; translations?: MissionTranslations; } export interface MissionMap2Props extends MissionModule2Props { onBackClick: () => void; root?: PathDataV2; translations: MissionTranslations; } export interface MissionMenuProps { data?: PathDataV2[]; onItemClick: (item: PathDataV2) => void; translations: MissionTranslations; } export interface SelectedMissionViewProps { isStandalone?: boolean; node: PathDataV2; onObjectiveClick: (cta: string) => void; translations: MissionTranslations; } export interface MissionData { completed: boolean; readonly missionNumber: number; reward?: number; readonly rewards: RewardData[]; objectives: ObjectiveData[]; } export interface MissionThemeData { readonly id: string; readonly backgroundTileUrl: string; readonly transitionTileUrl: string; readonly foregroundTiles: Array<{ readonly url: string; readonly size: number; }>; } export interface MissionTestData { data: any; onItemClick?: () => void; currentMission?: any; pathName?: string; onBackClick: () => void; mission: any; select: any; height: number; } export interface UpcomingMission { completed: boolean; missionNumber: number; rewards: RewardData[]; objectives: ObjectiveData[]; } export interface AvailabilityRule { type: string; missionPathId?: string; achievementId?: string; progressionId?: string; requirement?: string; step?: number; } interface Availability { unlocking?: Unlocking; locking?: Locking; } export interface Unlocking { rules?: AvailabilityRule[]; } export interface Locking { rules?: AvailabilityRule[]; } export interface PathDataV2 { pathId: string; pathName?: string; pathDescription?: string; finalMissionNumber: number; previousMissions?: []; currentMission?: MissionData; children?: []; objectives?: ObjectiveData[]; upcomingMissions?: UpcomingMission[]; startDate?: Date; endDate?: Date; upcomingPathResetDate?: Date; completedAt?: Date; locked: boolean; missionNumber?: number; metadata?: string | null; availabilityModuleProgression?: Availability; } export {};