import { API } from './types'; import * as ResponseType from './responseTypes'; export declare type AssignmentParam = Partial<{ include: ("submission" | "assignment_visibility" | "all_dates" | "overrides" | "observed_users" | "can_edit")[]; search_term: string; override_assignment_dates: boolean; needs_grading_count_by_section: boolean; bucket: "past" | "overdue" | "undated" | "ungraded" | "unsubmitted" | "upcoming" | "future"; assignment_ids: string[]; order_by: "position" | "name" | "due_at"; post_to_sis: boolean; }>; export declare type DeleteAnAssignment = API<"/api/v1/courses/:course_id/assignments/:id", { course_id: number; id: number; }, "DELETE", {}, ResponseType.Assignment>; export declare type ListAssignments = API<"/api/v1/courses/:course_id/assignments", { course_id: number; }, "GET", AssignmentParam, ResponseType.Assignment[]>; export declare type ListAssignmentsByAssignmentGroup = API<"/api/v1/courses/:course_id/assignment_groups/:assignment_group_id/assignments", { course_id: number; assignment_group_id: number; }, "GET", AssignmentParam, ResponseType.Assignment[]>; export declare type ListAssignmensByUser = API<"/api/v1/users/:user_id/courses/:course_id/assignments", { user_id: number | "self"; course_id: number; }, "GET", AssignmentParam, ResponseType.Assignment[]>; export declare type AnAssignmet = API<"/api/v1/courses/:course_id/assignments/:id", { course_id: number; id: number; }, "GET", Partial<{ include: ("submission" | "assignment_visibility" | "overrides" | "observed_users" | "can_edit")[]; override_assignment_dates: boolean; needs_grading_count_by_section: boolean; all_dates: boolean; }>, ResponseType.Assignment>; export declare type CreateNewAssignment = API<"/api/v1/courses/:course_id/assignments", { course_id: number; }, "POST", Partial<{ notify_of_update: boolean; assignment_overrides: ResponseType.AssignmentOverride[]; quiz_lti: boolean; assignment_group_id: number; } & Pick>, ResponseType.Assignment>; export declare type EditAnAssignment = API<"/api/v1/courses/:course_id/assignments/:id", { course_id: number; id: number; }, "PUT", Partial<{ notify_of_update: boolean; assignment_overrides: ResponseType.AssignmentOverride[]; assignment_group_id: number; sis_assignment_id: string; } & Pick>, ResponseType.Assignment>; export declare type ListAssigmentOverrides = API<"/api/v1/courses/:course_id/assignments/:assignment_id/overrides", { course_id: number; assignment_id: number; }, "GET", {}, ResponseType.AssignmentOverride[]>; export declare type GetAnAssignmentOverride = API<"/api/v1/courses/:course_id/assignments/:assignment_id/overrides/:id", { course_id: number; assignment_id: number; overrides: number; }, "GET", {}, ResponseType.AssignmentOverride>; export declare type CreateAnAssignmentOverride = API<"/api/v1/courses/:course_id/assignments/:assignment_id/overrides", { course_id: number; assignment_id: number; }, "POST", Partial>, ResponseType.AssignmentOverride>; export declare type UpdateAnAssignmentOverride = API<"/api/v1/courses/:course_id/assignments/:assignment_id/overrides/:id", { course_id: number; assignment_id: number; id: number; }, "PUT", Partial>, ResponseType.AssignmentOverride>; export declare type DeleteAnAssignmentOverride = API<"/api/v1/courses/:course_id/assignments/:assignment_id/overrides/:id", { course_id: number; assignment_id: number; id: number; }, "DELETE", {}, ResponseType.AssignmentOverride>;