/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import { lessonPlansGetStudentCourseProgress } from "../funcs/lessonPlansGetStudentCourseProgress.js";
import { lessonPlansGetSyllabus } from "../funcs/lessonPlansGetSyllabus.js";
import { lessonPlansUpdateStudentResponse } from "../funcs/lessonPlansUpdateStudentResponse.js";
import { ClientSDK } from "../lib/sdks.js";
import { unwrapAsync } from "../types/fp.js";
export class LessonPlans extends ClientSDK {
    /**
     * Get course progress
     *
     * @remarks
     *
     * Get the course progress for a student in a course.
     *
     * ---
     *
     * Returns a list of **assessment line items** for the **course** and **student**.
     *
     * A type "**component**" indicates a component of the lesson plan such as a unit or lesson.
     *
     * A type "**resource**" indicates a resource such as a video, audio,
     * or document file as well as a quiz or question.
     *
     * Each **line item** contains a list of assessment results in the **results** attribute, related to student and course.
     */
    async getStudentCourseProgress(request, options) {
        return unwrapAsync(lessonPlansGetStudentCourseProgress(this, request, options));
    }
    /**
     * Update student item response
     *
     * @remarks
     *
     * Update the student item response for a student in a course.
     *
     * ---
     *
     * The item may be a **component** or **componentResource**.
     *
     * You should provide either the **componentId** or the **componentResourceId**.
     *
     * If you provide the **componentId**, the data in the response payload should be in relation to the student's response to the entire component.
     *
     * If you provide the **componentResourceId**, the data in the response payload should be in relation to the student's response to the specific resource.
     */
    async updateStudentResponse(request, options) {
        return unwrapAsync(lessonPlansUpdateStudentResponse(this, request, options));
    }
    /**
     * Get course syllabus
     *
     * @remarks
     * Get course syllabus
     */
    async getSyllabus(request, options) {
        return unwrapAsync(lessonPlansGetSyllabus(this, request, options));
    }
}
//# sourceMappingURL=lessonplans.js.map