import type * as Whop from "../../../../index.js"; /** * @example * { * id: "lesn_xxxxxxxxxxxxx" * } */ export interface UpdateCourseLessonsRequest { /** The unique identifier of the lesson to update (e.g., "les_XXXXX"). */ id: string; /** The passing criteria for quiz or knowledge check lessons, such as minimum grade or correct answers. */ assessment_completion_requirement?: UpdateCourseLessonsRequest.AssessmentCompletionRequirement | null; /** The full list of assessment questions for quiz or knowledge check lessons. Replaces all existing questions. */ assessment_questions?: UpdateCourseLessonsRequest.AssessmentQuestions.Item[] | null; /** File attachments for the lesson such as PDFs or documents. Replaces all existing attachments. */ attachments?: UpdateCourseLessonsRequest.Attachments.Item[] | null; /** The Markdown content body of the lesson. */ content?: string | null; /** The number of days after a student starts the course before this lesson becomes accessible. */ days_from_course_start_until_unlock?: number | null; /** The external video identifier for embedded content (e.g., a YouTube video ID or Loom share ID). */ embed_id?: string | null; /** The type of video embed for this lesson, such as YouTube or Loom. */ embed_type?: Whop.EmbedTypes | null; /** The content type of the lesson, such as video, text, quiz, or knowledge check. */ lesson_type?: Whop.LessonTypes | null; /** The primary PDF document attached to this lesson for student reference. */ main_pdf?: UpdateCourseLessonsRequest.MainPdf | null; /** The maximum number of attempts a student is allowed for assessment lessons. */ max_attempts?: number | null; /** The identifier of a Mux video asset to attach to this lesson (e.g., "mux_XXXXX"). */ mux_asset_id?: string | null; /** The thumbnail image for the lesson in PNG, JPEG, or GIF format. */ thumbnail?: UpdateCourseLessonsRequest.Thumbnail | null; /** The display title of the lesson (e.g., "Getting Started with APIs"). */ title?: string | null; /** Controls whether this lesson is visible to students or hidden as a draft. */ visibility?: Whop.LessonVisibilities | null; } export declare namespace UpdateCourseLessonsRequest { /** * The passing criteria for quiz or knowledge check lessons, such as minimum grade or correct answers. */ interface AssessmentCompletionRequirement { /** The minimum grade percentage required to pass (0-100). Cannot be set together with minimum_questions_correct. */ minimum_grade_percent?: (number | null) | undefined; /** The minimum number of questions that must be answered correctly. Cannot be set together with minimum_grade_percent. */ minimum_questions_correct?: (number | null) | undefined; } type AssessmentQuestions = AssessmentQuestions.Item[]; namespace AssessmentQuestions { /** * Input for creating or updating an assessment question */ interface Item { /** The correct answer for the question. Used for short answer questions */ correct_answer: string; /** The ID of an existing question. If provided, the question will be updated. If not provided, a new question will be created. */ id?: (string | null) | undefined; /** Optional image attachment for the question */ image?: (Item.Image | null) | undefined; /** The answer options for multiple choice/select questions */ options?: (Item.Options.Item[] | null) | undefined; /** The text of the question */ question_text: string; /** The type of the question */ question_type: Whop.CoursesAssessmentQuestionTypes; } namespace Item { /** * Optional image attachment for the question */ interface Image { /** The ID of an existing file object. */ id: string; } type Options = Options.Item[]; namespace Options { /** * Input for creating or updating an assessment question option */ interface Item { /** The ID of an existing option. If provided, the option will be updated. If not provided, a new option will be created. */ id?: (string | null) | undefined; /** Whether this option is a correct answer */ is_correct: boolean; /** The text of the answer option */ option_text: string; } } } } type Attachments = Attachments.Item[]; namespace Attachments { /** * Input for an attachment */ interface Item { /** The ID of an existing file object. */ id: string; } } /** * The primary PDF document attached to this lesson for student reference. */ interface MainPdf { /** The ID of an existing file object. */ id: string; } /** * The thumbnail image for the lesson in PNG, JPEG, or GIF format. */ interface Thumbnail { /** The ID of an existing file object. */ id: string; } }