import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as core from "../../../../core/index.js"; import * as Whop from "../../../index.js"; export declare namespace CourseLessonsClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } export declare class CourseLessonsClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options?: CourseLessonsClient.Options); /** * Returns a paginated list of lessons within a course or chapter, ordered by position. * * Required permissions: * - `courses:read` * * @param {Whop.ListCourseLessonsRequest} request * @param {CourseLessonsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.courseLessons.list({ * first: 42, * last: 42, * course_id: "cors_xxxxxxxxxxxxx", * chapter_id: "chap_xxxxxxxxxxxxx" * }) */ list(request?: Whop.ListCourseLessonsRequest, requestOptions?: CourseLessonsClient.RequestOptions): Promise>; /** * Create a new lesson within a course chapter. Lessons can contain video, text, or assessment content. * * Required permissions: * - `courses:update` * * @param {Whop.CreateCourseLessonsRequest} request * @param {CourseLessonsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.courseLessons.create({ * chapter_id: "chap_xxxxxxxxxxxxx", * lesson_type: "text" * }) */ create(request: Whop.CreateCourseLessonsRequest, requestOptions?: CourseLessonsClient.RequestOptions): core.HttpResponsePromise; private __create; /** * Retrieves the details of an existing course lesson. * * Required permissions: * - `courses:read` * * @param {Whop.RetrieveCourseLessonsRequest} request * @param {CourseLessonsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.courseLessons.retrieve({ * id: "lesn_xxxxxxxxxxxxx" * }) */ retrieve(request: Whop.RetrieveCourseLessonsRequest, requestOptions?: CourseLessonsClient.RequestOptions): core.HttpResponsePromise; private __retrieve; /** * Permanently delete a lesson and remove it from its chapter. * * Required permissions: * - `courses:update` * * @param {Whop.DeleteCourseLessonsRequest} request * @param {CourseLessonsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.courseLessons.delete({ * id: "lesn_xxxxxxxxxxxxx" * }) */ delete(request: Whop.DeleteCourseLessonsRequest, requestOptions?: CourseLessonsClient.RequestOptions): core.HttpResponsePromise; private __delete; /** * Update a lesson's content, type, visibility, assessment questions, or media attachments. * * Required permissions: * - `courses:update` * * @param {Whop.UpdateCourseLessonsRequest} request * @param {CourseLessonsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.courseLessons.update({ * id: "lesn_xxxxxxxxxxxxx" * }) */ update(request: Whop.UpdateCourseLessonsRequest, requestOptions?: CourseLessonsClient.RequestOptions): core.HttpResponsePromise; private __update; /** * Mark a lesson as completed for the current user after they finish the content. * * @param {Whop.MarkAsCompletedCourseLessonsRequest} request * @param {CourseLessonsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.courseLessons.markAsCompleted({ * lesson_id: "lesson_id" * }) */ markAsCompleted(request: Whop.MarkAsCompletedCourseLessonsRequest, requestOptions?: CourseLessonsClient.RequestOptions): core.HttpResponsePromise; private __markAsCompleted; /** * Record that the current user has started viewing a lesson, creating progress tracking records. * * @param {Whop.StartCourseLessonsRequest} request * @param {CourseLessonsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.courseLessons.start({ * lesson_id: "lesson_id" * }) */ start(request: Whop.StartCourseLessonsRequest, requestOptions?: CourseLessonsClient.RequestOptions): core.HttpResponsePromise; private __start; /** * Submit answers for a quiz or knowledge check lesson and receive a graded result. * * @param {Whop.SubmitAssessmentCourseLessonsRequest} request * @param {CourseLessonsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.courseLessons.submitAssessment({ * lesson_id: "lesson_id", * answers: [{ * question_id: "question_id" * }] * }) */ submitAssessment(request: Whop.SubmitAssessmentCourseLessonsRequest, requestOptions?: CourseLessonsClient.RequestOptions): core.HttpResponsePromise; private __submitAssessment; }