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 ImportExternalTestAssignmentResultsRequest = {
    /**
     * The sourcedId of the student
     */
    student: string;
    /**
     * The sourcedId of the lesson (ComponentResource)
     */
    lesson: string;
    /**
     * The name of the application
     */
    applicationName?: string | undefined;
};
export declare const ImportExternalTestAssignmentResultsLessonType: {
    readonly TestOut: "test-out";
    readonly Placement: "placement";
};
export type ImportExternalTestAssignmentResultsLessonType = ClosedEnum<typeof ImportExternalTestAssignmentResultsLessonType>;
/**
 * The credentials for accessing the assigned test on Edulastic
 */
export type ImportExternalTestAssignmentResultsCredentials = {
    email: string;
    password: string;
};
/**
 * Success
 */
export type ImportExternalTestAssignmentResultsResponse = {
    lessonType: ImportExternalTestAssignmentResultsLessonType;
    /**
     * The sourcedId of the lesson (ComponentResource)
     */
    lessonId: string | null;
    /**
     * The tool provider for the lesson (ComponentResource)
     */
    toolProvider: string;
    /**
     * Whether the Test has been finalized in the current attempt
     */
    finalized: boolean;
    /**
     * The attempt number
     */
    attempt: number;
    /**
     * The credentials for accessing the assigned test on Edulastic
     */
    credentials?: ImportExternalTestAssignmentResultsCredentials | undefined;
    /**
     * The id of the assignment on Edulastic for results retrieval
     */
    assignmentId?: string | undefined;
    /**
     * The id of the class on Edulastic for results retrieval
     */
    classId?: string | undefined;
    /**
     * The URL of the test on Edulastic
     */
    testUrl?: string | undefined;
    /**
     * The id of the test on Edulastic
     */
    testId?: string | undefined;
    /**
     * The courseId to enroll the student in if they fail the placement test (can be null)
     */
    courseIdOnFail: string | null;
    /**
     * Whether the test has a fallback course for auto-enrollment on failure
     */
    hasFallbackCourse: boolean;
};
/** @internal */
export declare const ImportExternalTestAssignmentResultsRequest$inboundSchema: z.ZodType<ImportExternalTestAssignmentResultsRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type ImportExternalTestAssignmentResultsRequest$Outbound = {
    student: string;
    lesson: string;
    applicationName?: string | undefined;
};
/** @internal */
export declare const ImportExternalTestAssignmentResultsRequest$outboundSchema: z.ZodType<ImportExternalTestAssignmentResultsRequest$Outbound, z.ZodTypeDef, ImportExternalTestAssignmentResultsRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ImportExternalTestAssignmentResultsRequest$ {
    /** @deprecated use `ImportExternalTestAssignmentResultsRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ImportExternalTestAssignmentResultsRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `ImportExternalTestAssignmentResultsRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ImportExternalTestAssignmentResultsRequest$Outbound, z.ZodTypeDef, ImportExternalTestAssignmentResultsRequest>;
    /** @deprecated use `ImportExternalTestAssignmentResultsRequest$Outbound` instead. */
    type Outbound = ImportExternalTestAssignmentResultsRequest$Outbound;
}
export declare function importExternalTestAssignmentResultsRequestToJSON(importExternalTestAssignmentResultsRequest: ImportExternalTestAssignmentResultsRequest): string;
export declare function importExternalTestAssignmentResultsRequestFromJSON(jsonString: string): SafeParseResult<ImportExternalTestAssignmentResultsRequest, SDKValidationError>;
/** @internal */
export declare const ImportExternalTestAssignmentResultsLessonType$inboundSchema: z.ZodNativeEnum<typeof ImportExternalTestAssignmentResultsLessonType>;
/** @internal */
export declare const ImportExternalTestAssignmentResultsLessonType$outboundSchema: z.ZodNativeEnum<typeof ImportExternalTestAssignmentResultsLessonType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ImportExternalTestAssignmentResultsLessonType$ {
    /** @deprecated use `ImportExternalTestAssignmentResultsLessonType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly TestOut: "test-out";
        readonly Placement: "placement";
    }>;
    /** @deprecated use `ImportExternalTestAssignmentResultsLessonType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly TestOut: "test-out";
        readonly Placement: "placement";
    }>;
}
/** @internal */
export declare const ImportExternalTestAssignmentResultsCredentials$inboundSchema: z.ZodType<ImportExternalTestAssignmentResultsCredentials, z.ZodTypeDef, unknown>;
/** @internal */
export type ImportExternalTestAssignmentResultsCredentials$Outbound = {
    email: string;
    password: string;
};
/** @internal */
export declare const ImportExternalTestAssignmentResultsCredentials$outboundSchema: z.ZodType<ImportExternalTestAssignmentResultsCredentials$Outbound, z.ZodTypeDef, ImportExternalTestAssignmentResultsCredentials>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ImportExternalTestAssignmentResultsCredentials$ {
    /** @deprecated use `ImportExternalTestAssignmentResultsCredentials$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ImportExternalTestAssignmentResultsCredentials, z.ZodTypeDef, unknown>;
    /** @deprecated use `ImportExternalTestAssignmentResultsCredentials$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ImportExternalTestAssignmentResultsCredentials$Outbound, z.ZodTypeDef, ImportExternalTestAssignmentResultsCredentials>;
    /** @deprecated use `ImportExternalTestAssignmentResultsCredentials$Outbound` instead. */
    type Outbound = ImportExternalTestAssignmentResultsCredentials$Outbound;
}
export declare function importExternalTestAssignmentResultsCredentialsToJSON(importExternalTestAssignmentResultsCredentials: ImportExternalTestAssignmentResultsCredentials): string;
export declare function importExternalTestAssignmentResultsCredentialsFromJSON(jsonString: string): SafeParseResult<ImportExternalTestAssignmentResultsCredentials, SDKValidationError>;
/** @internal */
export declare const ImportExternalTestAssignmentResultsResponse$inboundSchema: z.ZodType<ImportExternalTestAssignmentResultsResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type ImportExternalTestAssignmentResultsResponse$Outbound = {
    lessonType: string;
    lessonId: string | null;
    toolProvider: string;
    finalized: boolean;
    attempt: number;
    credentials?: ImportExternalTestAssignmentResultsCredentials$Outbound | undefined;
    assignmentId?: string | undefined;
    classId?: string | undefined;
    testUrl?: string | undefined;
    testId?: string | undefined;
    courseIdOnFail: string | null;
    hasFallbackCourse: boolean;
};
/** @internal */
export declare const ImportExternalTestAssignmentResultsResponse$outboundSchema: z.ZodType<ImportExternalTestAssignmentResultsResponse$Outbound, z.ZodTypeDef, ImportExternalTestAssignmentResultsResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ImportExternalTestAssignmentResultsResponse$ {
    /** @deprecated use `ImportExternalTestAssignmentResultsResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ImportExternalTestAssignmentResultsResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `ImportExternalTestAssignmentResultsResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ImportExternalTestAssignmentResultsResponse$Outbound, z.ZodTypeDef, ImportExternalTestAssignmentResultsResponse>;
    /** @deprecated use `ImportExternalTestAssignmentResultsResponse$Outbound` instead. */
    type Outbound = ImportExternalTestAssignmentResultsResponse$Outbound;
}
export declare function importExternalTestAssignmentResultsResponseToJSON(importExternalTestAssignmentResultsResponse: ImportExternalTestAssignmentResultsResponse): string;
export declare function importExternalTestAssignmentResultsResponseFromJSON(jsonString: string): SafeParseResult<ImportExternalTestAssignmentResultsResponse, SDKValidationError>;
//# sourceMappingURL=importexternaltestassignmentresults.d.ts.map