import { AssignedQuestion, GradedQuestion } from "../core/assigned_exams"; import { ResponseKind } from "../response/common"; import { QuestionGrader, ImmutableGradingResult } from "./QuestionGrader"; export type StandardSLGradingResult = ImmutableGradingResult & { readonly itemResults: readonly { applied: boolean; submittedLines: number[]; }[]; }; type SLRubricItem = { points: number; required: number[]; prohibited: number[]; optional?: number[]; title: string; description: string; }; export type StandardSLGraderSpecification = { readonly grader_kind: "standard_select_lines"; readonly rubric: readonly SLRubricItem[]; readonly points_possible: number; }; export declare class StandardSLGrader implements QuestionGrader<"select_lines"> { readonly spec: StandardSLGraderSpecification; readonly t_response_kinds: "select_lines"; constructor(spec: StandardSLGraderSpecification); scale(new_points_possible: number): StandardSLGrader; isGrader(responseKind: T): this is QuestionGrader; prepare(exam_id: string, question_id: string, spec: StandardSLGraderSpecification): void; grade(aq: AssignedQuestion<"select_lines">): StandardSLGradingResult; pointsEarned(gr: StandardSLGradingResult): number; renderReport(aq: GradedQuestion<"select_lines", StandardSLGradingResult>): string; annotateResponseElem(gq: GradedQuestion<"select_lines", StandardSLGradingResult>, response_elem: JQuery): void; renderStats(): string; renderOverview(gqs: readonly GradedQuestion<"select_lines", StandardSLGradingResult>[]): string; } export {};