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";
/**
 * Get next placement test
 *
 * @remarks
 * Returns the next placement test for the student in a subject:
 * - If the student has completed all placement tests for the subject, the next test's lesson ID will be null. Tests will also be marked as exhausted.
 * - If the student hasn't completed a single placement test, returns the first placement test's lesson ID for the subject.
 * - If the student has completed some placement tests, it will return null for the next test's lesson ID if the last completed test had a score smaller than 90.
 * - Alternatively, it will return the next available placement test's lesson ID if the score was greater than or equal to 90.
 *
 * Also returns the 'onboarded' boolean that indicates if the student completed the onboarding process for the subject:
 * - A 'onboarded = true' means they either completed and passed all placement tests or they have gotten a score smaller than 90 in the last completed placement test.
 * - A 'onboarded = false' means they haven't completed placement tests yet or have achieved a score of 90 or greater in the last completed placement test and there are more tests to take.
 *
 * A 'Lesson' in this context is a ComponentResource object which has a Resource object with metadata.lessonType = "placement" associated with it.
 */
export declare function powerPathPlacementGetNextPlacementTest(client: PowerPathCore, request: operations.GetNextPlacementTestRequest, options?: RequestOptions): APIPromise<Result<operations.GetNextPlacementTestResponse, errors.BadRequestResponseError | errors.UnauthorizedRequestResponseError | errors.ForbiddenResponseError | errors.NotFoundResponseError | errors.UnprocessableEntityResponseError | errors.TooManyRequestsResponseError | errors.InternalServerErrorResponse | PowerPathError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
//# sourceMappingURL=powerPathPlacementGetNextPlacementTest.d.ts.map