import { PowerPathCore } from "../core.js";
import { RequestOptions } from "../lib/sdks.js";
import * as components from "../models/components/index.js";
import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
import * as errors from "../models/errors/index.js";
import { PowerPathError } from "../models/errors/powerpatherror.js";
import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
import * as operations from "../models/operations/index.js";
import { APIPromise } from "../types/async.js";
import { Result } from "../types/fp.js";
/**
 * Test out
 *
 * @remarks
 * Returns the testOut lesson reference for the given student and course.
 *
 * - TestOut is a lesson that represents the end-of-course test, covering the entire course content.
 * - The testOut should be specified by a Resource with metadata.lessonType = "test-out".
 *
 * Details:
 * - Returns a null lessonId in case no Resource with metadata.lessonType = "test-out" is found in the course.
 * - In case student has already taken the TestOut, this will return the "finalized" flag set to true.
 * - In case this is an external TestOut, also return external access credentials, if available (i.e. test was previously assigned to student).
 *
 * A 'Lesson' in this context is a ComponentResource object which has a Resource object with metadata.lessonType = "test-out" associated with it.
 */
export declare function powerPathCourseMasteryTestOut(client: PowerPathCore, request: operations.TestOutRequest, options?: RequestOptions): APIPromise<Result<components.TestOutResult, errors.BadRequestResponseError | errors.UnauthorizedRequestResponseError | errors.ForbiddenResponseError | errors.NotFoundResponseError | errors.UnprocessableEntityResponseError | errors.TooManyRequestsResponseError | errors.InternalServerErrorResponse | PowerPathError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
//# sourceMappingURL=powerPathCourseMasteryTestOut.d.ts.map