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 declare const AssessmentResultStatus: {
    readonly Active: "active";
    readonly Tobedeleted: "tobedeleted";
};
export type AssessmentResultStatus = ClosedEnum<typeof AssessmentResultStatus>;
export type AssessmentResultAssessmentLineItem = {
    sourcedId: string;
};
export type AssessmentResultStudent = {
    sourcedId: string;
};
export type AssessmentResultScoreScale = {
    sourcedId: string;
};
export declare const AssessmentResultScoreStatus: {
    readonly Exempt: "exempt";
    readonly FullyGraded: "fully graded";
    readonly NotSubmitted: "not submitted";
    readonly PartiallyGraded: "partially graded";
    readonly Submitted: "submitted";
};
export type AssessmentResultScoreStatus = ClosedEnum<typeof AssessmentResultScoreStatus>;
export type AssessmentResultLearningObjectiveId = {
    learningObjectiveId: string;
    score?: number | undefined;
    textScore?: string | undefined;
};
export type AssessmentResultLearningObjectiveSet = {
    source: string;
    learningObjectiveIds: Array<AssessmentResultLearningObjectiveId>;
};
/**
 * Represents an assessment result.
 */
export type AssessmentResult = {
    sourcedId?: string | undefined;
    status: AssessmentResultStatus;
    dateLastModified?: Date | undefined;
    metadata?: {
        [k: string]: any;
    } | null | undefined;
    assessmentLineItem: AssessmentResultAssessmentLineItem;
    student: AssessmentResultStudent;
    score?: number | null | undefined;
    textScore?: string | null | undefined;
    scoreDate: Date;
    scoreScale?: AssessmentResultScoreScale | null | undefined;
    scorePercentile?: number | null | undefined;
    scoreStatus: AssessmentResultScoreStatus;
    comment?: string | null | undefined;
    learningObjectiveSet?: Array<AssessmentResultLearningObjectiveSet> | null | undefined;
    inProgress?: string | null | undefined;
    incomplete?: string | null | undefined;
    late?: string | null | undefined;
    missing?: string | null | undefined;
};
/** @internal */
export declare const AssessmentResultStatus$inboundSchema: z.ZodNativeEnum<typeof AssessmentResultStatus>;
/** @internal */
export declare const AssessmentResultStatus$outboundSchema: z.ZodNativeEnum<typeof AssessmentResultStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentResultStatus$ {
    /** @deprecated use `AssessmentResultStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
    /** @deprecated use `AssessmentResultStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
}
/** @internal */
export declare const AssessmentResultAssessmentLineItem$inboundSchema: z.ZodType<AssessmentResultAssessmentLineItem, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentResultAssessmentLineItem$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const AssessmentResultAssessmentLineItem$outboundSchema: z.ZodType<AssessmentResultAssessmentLineItem$Outbound, z.ZodTypeDef, AssessmentResultAssessmentLineItem>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentResultAssessmentLineItem$ {
    /** @deprecated use `AssessmentResultAssessmentLineItem$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentResultAssessmentLineItem, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentResultAssessmentLineItem$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentResultAssessmentLineItem$Outbound, z.ZodTypeDef, AssessmentResultAssessmentLineItem>;
    /** @deprecated use `AssessmentResultAssessmentLineItem$Outbound` instead. */
    type Outbound = AssessmentResultAssessmentLineItem$Outbound;
}
export declare function assessmentResultAssessmentLineItemToJSON(assessmentResultAssessmentLineItem: AssessmentResultAssessmentLineItem): string;
export declare function assessmentResultAssessmentLineItemFromJSON(jsonString: string): SafeParseResult<AssessmentResultAssessmentLineItem, SDKValidationError>;
/** @internal */
export declare const AssessmentResultStudent$inboundSchema: z.ZodType<AssessmentResultStudent, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentResultStudent$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const AssessmentResultStudent$outboundSchema: z.ZodType<AssessmentResultStudent$Outbound, z.ZodTypeDef, AssessmentResultStudent>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentResultStudent$ {
    /** @deprecated use `AssessmentResultStudent$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentResultStudent, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentResultStudent$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentResultStudent$Outbound, z.ZodTypeDef, AssessmentResultStudent>;
    /** @deprecated use `AssessmentResultStudent$Outbound` instead. */
    type Outbound = AssessmentResultStudent$Outbound;
}
export declare function assessmentResultStudentToJSON(assessmentResultStudent: AssessmentResultStudent): string;
export declare function assessmentResultStudentFromJSON(jsonString: string): SafeParseResult<AssessmentResultStudent, SDKValidationError>;
/** @internal */
export declare const AssessmentResultScoreScale$inboundSchema: z.ZodType<AssessmentResultScoreScale, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentResultScoreScale$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const AssessmentResultScoreScale$outboundSchema: z.ZodType<AssessmentResultScoreScale$Outbound, z.ZodTypeDef, AssessmentResultScoreScale>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentResultScoreScale$ {
    /** @deprecated use `AssessmentResultScoreScale$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentResultScoreScale, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentResultScoreScale$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentResultScoreScale$Outbound, z.ZodTypeDef, AssessmentResultScoreScale>;
    /** @deprecated use `AssessmentResultScoreScale$Outbound` instead. */
    type Outbound = AssessmentResultScoreScale$Outbound;
}
export declare function assessmentResultScoreScaleToJSON(assessmentResultScoreScale: AssessmentResultScoreScale): string;
export declare function assessmentResultScoreScaleFromJSON(jsonString: string): SafeParseResult<AssessmentResultScoreScale, SDKValidationError>;
/** @internal */
export declare const AssessmentResultScoreStatus$inboundSchema: z.ZodNativeEnum<typeof AssessmentResultScoreStatus>;
/** @internal */
export declare const AssessmentResultScoreStatus$outboundSchema: z.ZodNativeEnum<typeof AssessmentResultScoreStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentResultScoreStatus$ {
    /** @deprecated use `AssessmentResultScoreStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Exempt: "exempt";
        readonly FullyGraded: "fully graded";
        readonly NotSubmitted: "not submitted";
        readonly PartiallyGraded: "partially graded";
        readonly Submitted: "submitted";
    }>;
    /** @deprecated use `AssessmentResultScoreStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Exempt: "exempt";
        readonly FullyGraded: "fully graded";
        readonly NotSubmitted: "not submitted";
        readonly PartiallyGraded: "partially graded";
        readonly Submitted: "submitted";
    }>;
}
/** @internal */
export declare const AssessmentResultLearningObjectiveId$inboundSchema: z.ZodType<AssessmentResultLearningObjectiveId, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentResultLearningObjectiveId$Outbound = {
    learningObjectiveId: string;
    score?: number | undefined;
    textScore?: string | undefined;
};
/** @internal */
export declare const AssessmentResultLearningObjectiveId$outboundSchema: z.ZodType<AssessmentResultLearningObjectiveId$Outbound, z.ZodTypeDef, AssessmentResultLearningObjectiveId>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentResultLearningObjectiveId$ {
    /** @deprecated use `AssessmentResultLearningObjectiveId$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentResultLearningObjectiveId, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentResultLearningObjectiveId$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentResultLearningObjectiveId$Outbound, z.ZodTypeDef, AssessmentResultLearningObjectiveId>;
    /** @deprecated use `AssessmentResultLearningObjectiveId$Outbound` instead. */
    type Outbound = AssessmentResultLearningObjectiveId$Outbound;
}
export declare function assessmentResultLearningObjectiveIdToJSON(assessmentResultLearningObjectiveId: AssessmentResultLearningObjectiveId): string;
export declare function assessmentResultLearningObjectiveIdFromJSON(jsonString: string): SafeParseResult<AssessmentResultLearningObjectiveId, SDKValidationError>;
/** @internal */
export declare const AssessmentResultLearningObjectiveSet$inboundSchema: z.ZodType<AssessmentResultLearningObjectiveSet, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentResultLearningObjectiveSet$Outbound = {
    source: string;
    learningObjectiveIds: Array<AssessmentResultLearningObjectiveId$Outbound>;
};
/** @internal */
export declare const AssessmentResultLearningObjectiveSet$outboundSchema: z.ZodType<AssessmentResultLearningObjectiveSet$Outbound, z.ZodTypeDef, AssessmentResultLearningObjectiveSet>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentResultLearningObjectiveSet$ {
    /** @deprecated use `AssessmentResultLearningObjectiveSet$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentResultLearningObjectiveSet, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentResultLearningObjectiveSet$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentResultLearningObjectiveSet$Outbound, z.ZodTypeDef, AssessmentResultLearningObjectiveSet>;
    /** @deprecated use `AssessmentResultLearningObjectiveSet$Outbound` instead. */
    type Outbound = AssessmentResultLearningObjectiveSet$Outbound;
}
export declare function assessmentResultLearningObjectiveSetToJSON(assessmentResultLearningObjectiveSet: AssessmentResultLearningObjectiveSet): string;
export declare function assessmentResultLearningObjectiveSetFromJSON(jsonString: string): SafeParseResult<AssessmentResultLearningObjectiveSet, SDKValidationError>;
/** @internal */
export declare const AssessmentResult$inboundSchema: z.ZodType<AssessmentResult, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentResult$Outbound = {
    sourcedId?: string | undefined;
    status: string;
    dateLastModified?: string | undefined;
    metadata?: {
        [k: string]: any;
    } | null | undefined;
    assessmentLineItem: AssessmentResultAssessmentLineItem$Outbound;
    student: AssessmentResultStudent$Outbound;
    score?: number | null | undefined;
    textScore?: string | null | undefined;
    scoreDate: string;
    scoreScale?: AssessmentResultScoreScale$Outbound | null | undefined;
    scorePercentile?: number | null | undefined;
    scoreStatus: string;
    comment?: string | null | undefined;
    learningObjectiveSet?: Array<AssessmentResultLearningObjectiveSet$Outbound> | null | undefined;
    inProgress?: string | null | undefined;
    incomplete?: string | null | undefined;
    late?: string | null | undefined;
    missing?: string | null | undefined;
};
/** @internal */
export declare const AssessmentResult$outboundSchema: z.ZodType<AssessmentResult$Outbound, z.ZodTypeDef, AssessmentResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentResult$ {
    /** @deprecated use `AssessmentResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentResult$Outbound, z.ZodTypeDef, AssessmentResult>;
    /** @deprecated use `AssessmentResult$Outbound` instead. */
    type Outbound = AssessmentResult$Outbound;
}
export declare function assessmentResultToJSON(assessmentResult: AssessmentResult): string;
export declare function assessmentResultFromJSON(jsonString: string): SafeParseResult<AssessmentResult, SDKValidationError>;
//# sourceMappingURL=assessmentresult.d.ts.map