"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.PowerPath100ProgressResult$ = exports.PowerPath100ProgressResult$outboundSchema = exports.PowerPath100ProgressResult$inboundSchema = exports.SeenQuestion$ = exports.SeenQuestion$outboundSchema = exports.SeenQuestion$inboundSchema = exports.PowerPath100ProgressResultResult$ = exports.PowerPath100ProgressResultResult$outboundSchema = exports.PowerPath100ProgressResultResult$inboundSchema = exports.PowerPath100ProgressResultResponse$ = exports.PowerPath100ProgressResultResponse$outboundSchema = exports.PowerPath100ProgressResultResponse$inboundSchema = exports.PowerPath100ProgressResultContent$ = exports.PowerPath100ProgressResultContent$outboundSchema = exports.PowerPath100ProgressResultContent$inboundSchema = exports.PowerPath100ProgressResultDifficulty$ = exports.PowerPath100ProgressResultDifficulty$outboundSchema = exports.PowerPath100ProgressResultDifficulty$inboundSchema = exports.RemainingQuestionsPerDifficulty$ = exports.RemainingQuestionsPerDifficulty$outboundSchema = exports.RemainingQuestionsPerDifficulty$inboundSchema = exports.PowerPath100ProgressResultDifficulty = void 0;
exports.remainingQuestionsPerDifficultyToJSON = remainingQuestionsPerDifficultyToJSON;
exports.remainingQuestionsPerDifficultyFromJSON = remainingQuestionsPerDifficultyFromJSON;
exports.powerPath100ProgressResultContentToJSON = powerPath100ProgressResultContentToJSON;
exports.powerPath100ProgressResultContentFromJSON = powerPath100ProgressResultContentFromJSON;
exports.powerPath100ProgressResultResponseToJSON = powerPath100ProgressResultResponseToJSON;
exports.powerPath100ProgressResultResponseFromJSON = powerPath100ProgressResultResponseFromJSON;
exports.powerPath100ProgressResultResultToJSON = powerPath100ProgressResultResultToJSON;
exports.powerPath100ProgressResultResultFromJSON = powerPath100ProgressResultResultFromJSON;
exports.seenQuestionToJSON = seenQuestionToJSON;
exports.seenQuestionFromJSON = seenQuestionFromJSON;
exports.powerPath100ProgressResultToJSON = powerPath100ProgressResultToJSON;
exports.powerPath100ProgressResultFromJSON = powerPath100ProgressResultFromJSON;
const z = __importStar(require("zod"));
const schemas_js_1 = require("../../lib/schemas.js");
/**
 * The difficulty of the question
 */
exports.PowerPath100ProgressResultDifficulty = {
    Easy: "easy",
    Medium: "medium",
    Hard: "hard",
};
/** @internal */
exports.RemainingQuestionsPerDifficulty$inboundSchema = z.object({
    easy: z.number(),
    medium: z.number(),
    hard: z.number(),
});
/** @internal */
exports.RemainingQuestionsPerDifficulty$outboundSchema = z.object({
    easy: z.number(),
    medium: z.number(),
    hard: z.number(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var RemainingQuestionsPerDifficulty$;
(function (RemainingQuestionsPerDifficulty$) {
    /** @deprecated use `RemainingQuestionsPerDifficulty$inboundSchema` instead. */
    RemainingQuestionsPerDifficulty$.inboundSchema = exports.RemainingQuestionsPerDifficulty$inboundSchema;
    /** @deprecated use `RemainingQuestionsPerDifficulty$outboundSchema` instead. */
    RemainingQuestionsPerDifficulty$.outboundSchema = exports.RemainingQuestionsPerDifficulty$outboundSchema;
})(RemainingQuestionsPerDifficulty$ || (exports.RemainingQuestionsPerDifficulty$ = RemainingQuestionsPerDifficulty$ = {}));
function remainingQuestionsPerDifficultyToJSON(remainingQuestionsPerDifficulty) {
    return JSON.stringify(exports.RemainingQuestionsPerDifficulty$outboundSchema.parse(remainingQuestionsPerDifficulty));
}
function remainingQuestionsPerDifficultyFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.RemainingQuestionsPerDifficulty$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'RemainingQuestionsPerDifficulty' from JSON`);
}
/** @internal */
exports.PowerPath100ProgressResultDifficulty$inboundSchema = z.nativeEnum(exports.PowerPath100ProgressResultDifficulty);
/** @internal */
exports.PowerPath100ProgressResultDifficulty$outboundSchema = exports.PowerPath100ProgressResultDifficulty$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PowerPath100ProgressResultDifficulty$;
(function (PowerPath100ProgressResultDifficulty$) {
    /** @deprecated use `PowerPath100ProgressResultDifficulty$inboundSchema` instead. */
    PowerPath100ProgressResultDifficulty$.inboundSchema = exports.PowerPath100ProgressResultDifficulty$inboundSchema;
    /** @deprecated use `PowerPath100ProgressResultDifficulty$outboundSchema` instead. */
    PowerPath100ProgressResultDifficulty$.outboundSchema = exports.PowerPath100ProgressResultDifficulty$outboundSchema;
})(PowerPath100ProgressResultDifficulty$ || (exports.PowerPath100ProgressResultDifficulty$ = PowerPath100ProgressResultDifficulty$ = {}));
/** @internal */
exports.PowerPath100ProgressResultContent$inboundSchema = z.object({
    type: z.string().optional(),
    rawXml: z.string(),
});
/** @internal */
exports.PowerPath100ProgressResultContent$outboundSchema = z.object({
    type: z.string().optional(),
    rawXml: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PowerPath100ProgressResultContent$;
(function (PowerPath100ProgressResultContent$) {
    /** @deprecated use `PowerPath100ProgressResultContent$inboundSchema` instead. */
    PowerPath100ProgressResultContent$.inboundSchema = exports.PowerPath100ProgressResultContent$inboundSchema;
    /** @deprecated use `PowerPath100ProgressResultContent$outboundSchema` instead. */
    PowerPath100ProgressResultContent$.outboundSchema = exports.PowerPath100ProgressResultContent$outboundSchema;
})(PowerPath100ProgressResultContent$ || (exports.PowerPath100ProgressResultContent$ = PowerPath100ProgressResultContent$ = {}));
function powerPath100ProgressResultContentToJSON(powerPath100ProgressResultContent) {
    return JSON.stringify(exports.PowerPath100ProgressResultContent$outboundSchema.parse(powerPath100ProgressResultContent));
}
function powerPath100ProgressResultContentFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PowerPath100ProgressResultContent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PowerPath100ProgressResultContent' from JSON`);
}
/** @internal */
exports.PowerPath100ProgressResultResponse$inboundSchema = z.union([z.string(), z.array(z.string())]);
/** @internal */
exports.PowerPath100ProgressResultResponse$outboundSchema = z.union([z.string(), z.array(z.string())]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PowerPath100ProgressResultResponse$;
(function (PowerPath100ProgressResultResponse$) {
    /** @deprecated use `PowerPath100ProgressResultResponse$inboundSchema` instead. */
    PowerPath100ProgressResultResponse$.inboundSchema = exports.PowerPath100ProgressResultResponse$inboundSchema;
    /** @deprecated use `PowerPath100ProgressResultResponse$outboundSchema` instead. */
    PowerPath100ProgressResultResponse$.outboundSchema = exports.PowerPath100ProgressResultResponse$outboundSchema;
})(PowerPath100ProgressResultResponse$ || (exports.PowerPath100ProgressResultResponse$ = PowerPath100ProgressResultResponse$ = {}));
function powerPath100ProgressResultResponseToJSON(powerPath100ProgressResultResponse) {
    return JSON.stringify(exports.PowerPath100ProgressResultResponse$outboundSchema.parse(powerPath100ProgressResultResponse));
}
function powerPath100ProgressResultResponseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PowerPath100ProgressResultResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PowerPath100ProgressResultResponse' from JSON`);
}
/** @internal */
exports.PowerPath100ProgressResultResult$inboundSchema = z.object({
    score: z.number(),
    feedback: z.string(),
});
/** @internal */
exports.PowerPath100ProgressResultResult$outboundSchema = z.object({
    score: z.number(),
    feedback: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PowerPath100ProgressResultResult$;
(function (PowerPath100ProgressResultResult$) {
    /** @deprecated use `PowerPath100ProgressResultResult$inboundSchema` instead. */
    PowerPath100ProgressResultResult$.inboundSchema = exports.PowerPath100ProgressResultResult$inboundSchema;
    /** @deprecated use `PowerPath100ProgressResultResult$outboundSchema` instead. */
    PowerPath100ProgressResultResult$.outboundSchema = exports.PowerPath100ProgressResultResult$outboundSchema;
})(PowerPath100ProgressResultResult$ || (exports.PowerPath100ProgressResultResult$ = PowerPath100ProgressResultResult$ = {}));
function powerPath100ProgressResultResultToJSON(powerPath100ProgressResultResult) {
    return JSON.stringify(exports.PowerPath100ProgressResultResult$outboundSchema.parse(powerPath100ProgressResultResult));
}
function powerPath100ProgressResultResultFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PowerPath100ProgressResultResult$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PowerPath100ProgressResultResult' from JSON`);
}
/** @internal */
exports.SeenQuestion$inboundSchema = z.object({
    id: z.string(),
    index: z.number(),
    title: z.string(),
    url: z.string(),
    difficulty: exports.PowerPath100ProgressResultDifficulty$inboundSchema.default("medium"),
    content: z.lazy(() => exports.PowerPath100ProgressResultContent$inboundSchema)
        .optional(),
    response: z.union([z.string(), z.array(z.string())]),
    correct: z.boolean().optional(),
    result: z.lazy(() => exports.PowerPath100ProgressResultResult$inboundSchema)
        .optional(),
});
/** @internal */
exports.SeenQuestion$outboundSchema = z.object({
    id: z.string(),
    index: z.number(),
    title: z.string(),
    url: z.string(),
    difficulty: exports.PowerPath100ProgressResultDifficulty$outboundSchema.default("medium"),
    content: z.lazy(() => exports.PowerPath100ProgressResultContent$outboundSchema)
        .optional(),
    response: z.union([z.string(), z.array(z.string())]),
    correct: z.boolean().optional(),
    result: z.lazy(() => exports.PowerPath100ProgressResultResult$outboundSchema)
        .optional(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var SeenQuestion$;
(function (SeenQuestion$) {
    /** @deprecated use `SeenQuestion$inboundSchema` instead. */
    SeenQuestion$.inboundSchema = exports.SeenQuestion$inboundSchema;
    /** @deprecated use `SeenQuestion$outboundSchema` instead. */
    SeenQuestion$.outboundSchema = exports.SeenQuestion$outboundSchema;
})(SeenQuestion$ || (exports.SeenQuestion$ = SeenQuestion$ = {}));
function seenQuestionToJSON(seenQuestion) {
    return JSON.stringify(exports.SeenQuestion$outboundSchema.parse(seenQuestion));
}
function seenQuestionFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.SeenQuestion$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'SeenQuestion' from JSON`);
}
/** @internal */
exports.PowerPath100ProgressResult$inboundSchema = z.object({
    lessonType: z.literal("powerpath-100").default("powerpath-100").optional(),
    remainingQuestionsPerDifficulty: z.lazy(() => exports.RemainingQuestionsPerDifficulty$inboundSchema),
    score: z.number(),
    seenQuestions: z.array(z.lazy(() => exports.SeenQuestion$inboundSchema)),
    attempt: z.number(),
    xp: z.nullable(z.number()),
    multiplier: z.nullable(z.number()),
    accuracy: z.number(),
    correctQuestions: z.number(),
    totalQuestions: z.number(),
});
/** @internal */
exports.PowerPath100ProgressResult$outboundSchema = z.object({
    lessonType: z.literal("powerpath-100").default("powerpath-100"),
    remainingQuestionsPerDifficulty: z.lazy(() => exports.RemainingQuestionsPerDifficulty$outboundSchema),
    score: z.number(),
    seenQuestions: z.array(z.lazy(() => exports.SeenQuestion$outboundSchema)),
    attempt: z.number(),
    xp: z.nullable(z.number()),
    multiplier: z.nullable(z.number()),
    accuracy: z.number(),
    correctQuestions: z.number(),
    totalQuestions: z.number(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PowerPath100ProgressResult$;
(function (PowerPath100ProgressResult$) {
    /** @deprecated use `PowerPath100ProgressResult$inboundSchema` instead. */
    PowerPath100ProgressResult$.inboundSchema = exports.PowerPath100ProgressResult$inboundSchema;
    /** @deprecated use `PowerPath100ProgressResult$outboundSchema` instead. */
    PowerPath100ProgressResult$.outboundSchema = exports.PowerPath100ProgressResult$outboundSchema;
})(PowerPath100ProgressResult$ || (exports.PowerPath100ProgressResult$ = PowerPath100ProgressResult$ = {}));
function powerPath100ProgressResultToJSON(powerPath100ProgressResult) {
    return JSON.stringify(exports.PowerPath100ProgressResult$outboundSchema.parse(powerPath100ProgressResult));
}
function powerPath100ProgressResultFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PowerPath100ProgressResult$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PowerPath100ProgressResult' from JSON`);
}
//# sourceMappingURL=powerpath100progressresult.js.map