// Generated by ts-to-zod
import { z } from "zod";

export const challengeTagSchema = z.object({
    Id: z.number(),
    Name: z.string(),
    Desc: z.string(),
    Param: z.array(z.number())
});

const eventStageDetailSchema = z.any();

const infiniteWaveSchema = z.any();

export const peakLevelSchema = z.object({
    Id: z.number(),
    Name: z.string(),
    DamageType: z.array(z.string()),
    MazeGroupID: z.number(),
    NpcMonsterIDList: z.array(z.number()),
    EventIDList: z.array(eventStageDetailSchema),
    TagList: z.array(challengeTagSchema),
    InfiniteList: z.record(z.string(), infiniteWaveSchema)
});

export const bossConfigSchema = z.object({
    HardName: z.string(),
    BuffList: z.array(challengeTagSchema),
    EventIDList: z.array(eventStageDetailSchema),
    TagList: z.array(challengeTagSchema),
    InfiniteList: z.record(z.string(), infiniteWaveSchema)
});

export const peakDetailSchema = z.object({
    Id: z.number(),
    Name: z.string(),
    PreLevel: z.array(peakLevelSchema),
    BossLevel: peakLevelSchema,
    BossConfig: bossConfigSchema
});
