/** * Courses Resource * * Manage courses and their nested resources. */ import { Paginator } from '../../lib'; import type { Class, ClassFilterFields, Course, CourseComponent, CourseComponentFilterFields, CoursesCallable, ListParamsNoSearch, OneRosterTransportLike, Resource, ResourceFilterFields } from '../../types'; /** * Scoped resource for operations on a specific course. * * Access via `client.courses(courseId)`. * * @example * ```typescript * const course = await client.courses(courseId).get() * const classes = await client.courses(courseId).classes() * const components = await client.courses(courseId).components() * const resources = await client.courses(courseId).resources() * ``` */ export declare class ScopedCourseResource { private readonly transport; private readonly basePath; private readonly courseId; constructor(transport: OneRosterTransportLike, courseId: string); /** * Get the course details. * @returns The course object */ get(): Promise; /** * Check whether this course exists. * @returns True if found, false for 404 */ exists(): Promise; /** * List classes for this course. * @param params - Optional `where` clause and pagination parameters * @returns Promise resolving to class array */ classes(params?: ListParamsNoSearch): Promise; /** * Stream classes with lazy pagination. * @param params - Optional `where` clause and pagination parameters * @returns Paginator for streaming classes */ streamClasses(params?: ListParamsNoSearch): Paginator; /** * List components for this course. * @param params - Optional `where` clause and pagination parameters * @returns Promise resolving to component array */ components(params?: ListParamsNoSearch): Promise; /** * Stream components with lazy pagination. * @param params - Optional `where` clause and pagination parameters * @returns Paginator for streaming components */ streamComponents(params?: ListParamsNoSearch): Paginator; /** * List resources for this course. * @param params - Optional `where` clause and pagination parameters * @returns Promise resolving to resource array */ resources(params?: ListParamsNoSearch): Promise; /** * Stream resources with lazy pagination. * @param params - Optional `where` clause and pagination parameters * @returns Paginator for streaming resources */ streamResources(params?: ListParamsNoSearch): Paginator; } /** * Create a callable courses resource. * @param transport - OneRoster transport instance * @returns Callable resource for courses */ export declare function createCoursesResource(transport: OneRosterTransportLike): CoursesCallable; //# sourceMappingURL=courses.d.ts.map