import { CanvasHttpConnector } from "../../http/connections/canvas-http.connector";
import { AssignmentInterface } from "../dtos/assignment.interface";
import { DataInterface } from "../../rubrics/dtos/data.interface";
import { RubricInterface } from "../../rubrics/dtos/rubric.interface";
import { RatingInterface } from "../../rubrics/dtos/rating.interface";
export declare class AssignmentsFactory {
    protected readonly connector: CanvasHttpConnector;
    protected version: string;
    protected accountId: string;
    constructor(connector: CanvasHttpConnector, version: string, accountId: string);
    /**
     * Fetch assignments
     *
     * @param endpoint
     * @private
     */
    private fetchAssignments;
    /**
     * Map assignment
     *
     * @param data
     */
    mapAssignment(data: any): AssignmentInterface;
    /**
     * Map data
     *
     * @param data
     */
    mapData(data: any): DataInterface;
    /**
     * Map rubric
     *
     * @param data
     */
    mapRubric(data: RubricInterface): RubricInterface;
    /**
     * Map rating
     *
     * @param data
     */
    mapRating(data: any): RatingInterface;
    /**
     * List assignments by course
     *
     * @param courseId
     * @param page
     * @param size
     */
    listAssignmentsByCourse(courseId: string, page: number, size: number): Promise<AssignmentInterface[]>;
    /**
     * List assignments by course with due dates
     *
     * @param courseId
     * @param page
     * @param size
     */
    listAssignmentsByCourseWithDueDates(courseId: string, page: number, size: number): Promise<AssignmentInterface[]>;
    /**
     * List assignments by user and course
     *
     * @param courseId
     * @param userId
     * @param page
     * @param size
     */
    listAssignmentsByUserAndCourse(courseId: string, userId: string, page: number, size: number): Promise<AssignmentInterface[]>;
    /**
     * List assignments by course with script
     *
     * @param courseId
     */
    listAssignmentsByCourseWithScript(courseId: string): Promise<AssignmentInterface[]>;
}
//# sourceMappingURL=assignments.factory.d.ts.map