import { CourseInterface } from "../dtos/course.interface";
import { CanvasHttpConnector } from "../../http/connections/canvas-http.connector";
export declare class CoursesFactory {
    protected readonly connector: CanvasHttpConnector;
    protected version: string;
    protected accountId: string;
    constructor(connector: CanvasHttpConnector, version: string, accountId: string);
    /**
     * Fetch courses from the API
     *
     * @param endpoint
     * @private
     */
    private fetchCourses;
    /**
     * List courses
     *
     * @param page
     * @param size
     */
    listCourses(page: number, size: number): Promise<CourseInterface[]>;
    /**
     * Get a course by ID
     *
     * @param courseId
     */
    getCourse(courseId: string): Promise<CourseInterface | undefined>;
    /**
     * List courses by enrollment term
     *
     * @param enrollmentTermId
     * @param page
     * @param size
     */
    listCoursesByEnrollmentTerm(enrollmentTermId: number, page: number, size: number): Promise<CourseInterface[]>;
}
//# sourceMappingURL=courses.factory.d.ts.map