import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * The credentials for accessing the assigned test on Edulastic
 */
export type Credentials = {
    email: string;
    password: string;
};
/**
 * Holds the id of the TestOut lesson (ComponentResource), or its results in case it was previously attempted
 */
export type TestOutResult = {
    lessonType?: "test-out" | undefined;
    /**
     * The id of the testOut lesson
     */
    lessonId: string | null;
    /**
     * Whether the Test Out has been finalized in the current attempt
     */
    finalized: boolean;
    /**
     * The tool provider for the testOut lesson
     */
    toolProvider: string | null;
    /**
     * The attempt number
     */
    attempt?: number | undefined;
    /**
     * The credentials for accessing the assigned test on Edulastic
     */
    credentials?: Credentials | 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;
};
/** @internal */
export declare const Credentials$inboundSchema: z.ZodType<Credentials, z.ZodTypeDef, unknown>;
/** @internal */
export type Credentials$Outbound = {
    email: string;
    password: string;
};
/** @internal */
export declare const Credentials$outboundSchema: z.ZodType<Credentials$Outbound, z.ZodTypeDef, Credentials>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Credentials$ {
    /** @deprecated use `Credentials$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Credentials, z.ZodTypeDef, unknown>;
    /** @deprecated use `Credentials$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Credentials$Outbound, z.ZodTypeDef, Credentials>;
    /** @deprecated use `Credentials$Outbound` instead. */
    type Outbound = Credentials$Outbound;
}
export declare function credentialsToJSON(credentials: Credentials): string;
export declare function credentialsFromJSON(jsonString: string): SafeParseResult<Credentials, SDKValidationError>;
/** @internal */
export declare const TestOutResult$inboundSchema: z.ZodType<TestOutResult, z.ZodTypeDef, unknown>;
/** @internal */
export type TestOutResult$Outbound = {
    lessonType: "test-out";
    lessonId: string | null;
    finalized: boolean;
    toolProvider: string | null;
    attempt?: number | undefined;
    credentials?: Credentials$Outbound | undefined;
    assignmentId?: string | undefined;
    classId?: string | undefined;
    testUrl?: string | undefined;
    testId?: string | undefined;
};
/** @internal */
export declare const TestOutResult$outboundSchema: z.ZodType<TestOutResult$Outbound, z.ZodTypeDef, TestOutResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TestOutResult$ {
    /** @deprecated use `TestOutResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TestOutResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `TestOutResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TestOutResult$Outbound, z.ZodTypeDef, TestOutResult>;
    /** @deprecated use `TestOutResult$Outbound` instead. */
    type Outbound = TestOutResult$Outbound;
}
export declare function testOutResultToJSON(testOutResult: TestOutResult): string;
export declare function testOutResultFromJSON(jsonString: string): SafeParseResult<TestOutResult, SDKValidationError>;
//# sourceMappingURL=testoutresult.d.ts.map