import * as z from "zod";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type FinalStudentAssessmentResponseRequest = {
    /**
     * The sourcedId of the student
     */
    student: string;
    /**
     * The sourcedId of the lesson (ComponentResource)
     */
    lesson: string;
};
export declare const FinalStudentAssessmentResponseLessonType: {
    readonly Quiz: "quiz";
    readonly TestOut: "test-out";
    readonly Placement: "placement";
};
export type FinalStudentAssessmentResponseLessonType = ClosedEnum<typeof FinalStudentAssessmentResponseLessonType>;
/**
 * Success
 */
export type FinalStudentAssessmentResponseResponse = {
    lessonType: FinalStudentAssessmentResponseLessonType;
    /**
     * Whether the lesson has been finalized in the current attempt
     */
    finalized: boolean;
    /**
     * The attempt number
     */
    attempt: number;
};
/** @internal */
export declare const FinalStudentAssessmentResponseRequest$inboundSchema: z.ZodType<FinalStudentAssessmentResponseRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type FinalStudentAssessmentResponseRequest$Outbound = {
    student: string;
    lesson: string;
};
/** @internal */
export declare const FinalStudentAssessmentResponseRequest$outboundSchema: z.ZodType<FinalStudentAssessmentResponseRequest$Outbound, z.ZodTypeDef, FinalStudentAssessmentResponseRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace FinalStudentAssessmentResponseRequest$ {
    /** @deprecated use `FinalStudentAssessmentResponseRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<FinalStudentAssessmentResponseRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `FinalStudentAssessmentResponseRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<FinalStudentAssessmentResponseRequest$Outbound, z.ZodTypeDef, FinalStudentAssessmentResponseRequest>;
    /** @deprecated use `FinalStudentAssessmentResponseRequest$Outbound` instead. */
    type Outbound = FinalStudentAssessmentResponseRequest$Outbound;
}
export declare function finalStudentAssessmentResponseRequestToJSON(finalStudentAssessmentResponseRequest: FinalStudentAssessmentResponseRequest): string;
export declare function finalStudentAssessmentResponseRequestFromJSON(jsonString: string): SafeParseResult<FinalStudentAssessmentResponseRequest, SDKValidationError>;
/** @internal */
export declare const FinalStudentAssessmentResponseLessonType$inboundSchema: z.ZodNativeEnum<typeof FinalStudentAssessmentResponseLessonType>;
/** @internal */
export declare const FinalStudentAssessmentResponseLessonType$outboundSchema: z.ZodNativeEnum<typeof FinalStudentAssessmentResponseLessonType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace FinalStudentAssessmentResponseLessonType$ {
    /** @deprecated use `FinalStudentAssessmentResponseLessonType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Quiz: "quiz";
        readonly TestOut: "test-out";
        readonly Placement: "placement";
    }>;
    /** @deprecated use `FinalStudentAssessmentResponseLessonType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Quiz: "quiz";
        readonly TestOut: "test-out";
        readonly Placement: "placement";
    }>;
}
/** @internal */
export declare const FinalStudentAssessmentResponseResponse$inboundSchema: z.ZodType<FinalStudentAssessmentResponseResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type FinalStudentAssessmentResponseResponse$Outbound = {
    lessonType: string;
    finalized: boolean;
    attempt: number;
};
/** @internal */
export declare const FinalStudentAssessmentResponseResponse$outboundSchema: z.ZodType<FinalStudentAssessmentResponseResponse$Outbound, z.ZodTypeDef, FinalStudentAssessmentResponseResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace FinalStudentAssessmentResponseResponse$ {
    /** @deprecated use `FinalStudentAssessmentResponseResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<FinalStudentAssessmentResponseResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `FinalStudentAssessmentResponseResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<FinalStudentAssessmentResponseResponse$Outbound, z.ZodTypeDef, FinalStudentAssessmentResponseResponse>;
    /** @deprecated use `FinalStudentAssessmentResponseResponse$Outbound` instead. */
    type Outbound = FinalStudentAssessmentResponseResponse$Outbound;
}
export declare function finalStudentAssessmentResponseResponseToJSON(finalStudentAssessmentResponseResponse: FinalStudentAssessmentResponseResponse): string;
export declare function finalStudentAssessmentResponseResponseFromJSON(jsonString: string): SafeParseResult<FinalStudentAssessmentResponseResponse, SDKValidationError>;
//# sourceMappingURL=finalstudentassessmentresponse.d.ts.map