"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.LessonPlans = void 0;
const lessonPlansGetStudentCourseProgress_js_1 = require("../funcs/lessonPlansGetStudentCourseProgress.js");
const lessonPlansGetSyllabus_js_1 = require("../funcs/lessonPlansGetSyllabus.js");
const lessonPlansUpdateStudentResponse_js_1 = require("../funcs/lessonPlansUpdateStudentResponse.js");
const sdks_js_1 = require("../lib/sdks.js");
const fp_js_1 = require("../types/fp.js");
class LessonPlans extends sdks_js_1.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 (0, fp_js_1.unwrapAsync)((0, lessonPlansGetStudentCourseProgress_js_1.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 (0, fp_js_1.unwrapAsync)((0, lessonPlansUpdateStudentResponse_js_1.lessonPlansUpdateStudentResponse)(this, request, options));
    }
    /**
     * Get course syllabus
     *
     * @remarks
     * Get course syllabus
     */
    async getSyllabus(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, lessonPlansGetSyllabus_js_1.lessonPlansGetSyllabus)(this, request, options));
    }
}
exports.LessonPlans = LessonPlans;
//# sourceMappingURL=lessonplans.js.map