import { PowerPathCore } from "../core.js";
import { RequestOptions } from "../lib/sdks.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";
/**
 * Make external test assignment
 *
 * @remarks
 * Makes an external test assignment for the given student:
 * - Applies to both 'test-out' and 'placement' lessons.
 *
 * This logic changes depending on the provided "toolProvider" value:
 * - For "edulastic" (currently the only one supported):
 *
 *   - Authenticates the student with their email on Edulastic
 *   - Assigns the test to the student in Edulastic
 *   - Stores the received "assignmentId" and "classId" in the lesson's AssessmentResult
 *   - Returns the test link, credentials, and IDs of the test for later results consumption
 *
 * Will fail if:
 * - The lesson is not an external "test-out" or "placement", or the student does not exist
 * - External tool (described in the resource.metadata.toolProvider) is not "edulastic"
 * - Any other problem on the Edulastic API being used that may happen
 *
 * A 'Lesson' in this context is a ComponentResource object which has a Resource object with lessonType = "test-out" or "placement" associated with it.
 */
export declare function powerPathCourseMasteryMakeExternalTestAssignment(client: PowerPathCore, request?: operations.MakeExternalTestAssignmentRequest | undefined, options?: RequestOptions): APIPromise<Result<operations.MakeExternalTestAssignmentResponse, errors.BadRequestResponseError | errors.UnauthorizedRequestResponseError | errors.ForbiddenResponseError | errors.NotFoundResponseError | errors.UnprocessableEntityResponseError | errors.TooManyRequestsResponseError | errors.InternalServerErrorResponse | PowerPathError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
//# sourceMappingURL=powerPathCourseMasteryMakeExternalTestAssignment.d.ts.map