import { AssignedQuestion, GradedQuestion } from "../core/assigned_exams"; import { ResponseKind } from "../response/common"; import { ImmutableGradingResult, QuestionGrader } from "./QuestionGrader"; /** * chosen is -1 if the submission was blank */ export type SimpleMCGradingResult = ImmutableGradingResult & { indexChosen: number; indexCorrect: number; }; export type SimpleMCGraderSpecification = { readonly grader_kind: "simple_multiple_choice"; readonly correct_index: number; }; export declare class SimpleMCGrader implements QuestionGrader<"multiple_choice", SimpleMCGradingResult> { readonly spec: SimpleMCGraderSpecification; readonly t_response_kinds: "multiple_choice"; /** * * @param correctIndex 0-based index of correct answer. */ constructor(spec: SimpleMCGraderSpecification); scale(new_points_possible: number): this; isGrader(responseKind: T): this is QuestionGrader; prepare(exam_id: string, question_id: string, spec: SimpleMCGraderSpecification): void; grade(aq: AssignedQuestion<"multiple_choice">): SimpleMCGradingResult; pointsEarned(gr: SimpleMCGradingResult): number; renderReport(aq: GradedQuestion<"multiple_choice", SimpleMCGradingResult>): string; annotateResponseElem(aq: GradedQuestion<"multiple_choice", SimpleMCGradingResult>, response_elem: JQuery): void; renderStats(): string; renderOverview(gqs: readonly GradedQuestion<"multiple_choice">[]): string; }