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";
/**
 * Finalize a test assessments
 *
 * @remarks
 * Finalize a lesson of type `quiz`, `test-out`, or `placement` after all questions have been answered:
 * - Evaluates answered questions, attribute scores for each question, and overall lesson score.
 * - Checks the correctness of the response using the QTI question's `<qti-response-declaration>` element and update the score accordingly.
 * - Creates/updates the AssessmentLineItem and AssessmentResult objects for the student/question pair if it doesn't exist yet.
 *
 * Not supported for external test lessons as the 3rd party tool is responsible for finalizing the test. Use the **importExternalTestAssignmentResults** endpoint instead.
 *
 * A 'Lesson' in this context is a ComponentResource object which has a Resource object with metadata.lessonType = "quiz", "test-out", or "placement" associated with it.
 */
export declare function lessonsFinalizeResponse(client: PowerPathCore, request?: operations.FinalStudentAssessmentResponseRequest | undefined, options?: RequestOptions): APIPromise<Result<operations.FinalStudentAssessmentResponseResponse, errors.BadRequestResponseError | errors.UnauthorizedRequestResponseError | errors.ForbiddenResponseError | errors.NotFoundResponseError | errors.UnprocessableEntityResponseError | errors.TooManyRequestsResponseError | errors.InternalServerErrorResponse | PowerPathError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
//# sourceMappingURL=lessonsFinalizeResponse.d.ts.map