import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * The result of processing the student's response
 */
export type ResponseResult = {
    /**
     * The score for this specific response (0 or 1)
     */
    score: number;
    /**
     * Optional feedback for the student's response
     */
    feedback?: any | undefined;
};
/**
 * Represents the result of updating the student's response to the question in the PowerPath100 lesson (ComponentResource)
 */
export type PowerPath100UpdateStudentQuestionResponseResult = {
    lessonType?: "powerpath-100" | undefined;
    /**
     * The updated PowerPath score of the student in this lesson
     */
    powerpathScore: number;
    /**
     * The result of processing the student's response
     */
    responseResult: ResponseResult;
    /**
     * The assessment result object for the question (for debugging)
     */
    questionResult?: any | undefined;
    /**
     * The assessment result object for the test (for debugging)
     */
    testResult?: any | undefined;
    /**
     * The accuracy of the student's attempted questions
     */
    accuracy: number;
    /**
     * The number of correct questions the student has answered in the lesson
     */
    correctQuestions: number;
    /**
     * The total number of questions in the lesson
     */
    totalQuestions: number;
    /**
     * The XP the student has earned in the lesson
     */
    xp: number | null;
    /**
     * The multiplier for the student's XP
     */
    multiplier: number | null;
};
/** @internal */
export declare const ResponseResult$inboundSchema: z.ZodType<ResponseResult, z.ZodTypeDef, unknown>;
/** @internal */
export type ResponseResult$Outbound = {
    score: number;
    feedback?: any | undefined;
};
/** @internal */
export declare const ResponseResult$outboundSchema: z.ZodType<ResponseResult$Outbound, z.ZodTypeDef, ResponseResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ResponseResult$ {
    /** @deprecated use `ResponseResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ResponseResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `ResponseResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ResponseResult$Outbound, z.ZodTypeDef, ResponseResult>;
    /** @deprecated use `ResponseResult$Outbound` instead. */
    type Outbound = ResponseResult$Outbound;
}
export declare function responseResultToJSON(responseResult: ResponseResult): string;
export declare function responseResultFromJSON(jsonString: string): SafeParseResult<ResponseResult, SDKValidationError>;
/** @internal */
export declare const PowerPath100UpdateStudentQuestionResponseResult$inboundSchema: z.ZodType<PowerPath100UpdateStudentQuestionResponseResult, z.ZodTypeDef, unknown>;
/** @internal */
export type PowerPath100UpdateStudentQuestionResponseResult$Outbound = {
    lessonType: "powerpath-100";
    powerpathScore: number;
    responseResult: ResponseResult$Outbound;
    questionResult?: any | undefined;
    testResult?: any | undefined;
    accuracy: number;
    correctQuestions: number;
    totalQuestions: number;
    xp: number | null;
    multiplier: number | null;
};
/** @internal */
export declare const PowerPath100UpdateStudentQuestionResponseResult$outboundSchema: z.ZodType<PowerPath100UpdateStudentQuestionResponseResult$Outbound, z.ZodTypeDef, PowerPath100UpdateStudentQuestionResponseResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PowerPath100UpdateStudentQuestionResponseResult$ {
    /** @deprecated use `PowerPath100UpdateStudentQuestionResponseResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PowerPath100UpdateStudentQuestionResponseResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `PowerPath100UpdateStudentQuestionResponseResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PowerPath100UpdateStudentQuestionResponseResult$Outbound, z.ZodTypeDef, PowerPath100UpdateStudentQuestionResponseResult>;
    /** @deprecated use `PowerPath100UpdateStudentQuestionResponseResult$Outbound` instead. */
    type Outbound = PowerPath100UpdateStudentQuestionResponseResult$Outbound;
}
export declare function powerPath100UpdateStudentQuestionResponseResultToJSON(powerPath100UpdateStudentQuestionResponseResult: PowerPath100UpdateStudentQuestionResponseResult): string;
export declare function powerPath100UpdateStudentQuestionResponseResultFromJSON(jsonString: string): SafeParseResult<PowerPath100UpdateStudentQuestionResponseResult, SDKValidationError>;
//# sourceMappingURL=powerpath100updatestudentquestionresponseresult.d.ts.map