import 'colors'; import { AssignedExam, UUID_Options } from './core/assigned_exams'; import { Exam } from './core/exam_components'; import { ExamRenderer } from './core/exam_renderer'; import { StudentInfo } from './core/exam_specification'; type FullExamGeneratorOptions = { readonly frontend_js_path: string; readonly frontend_assets_dir: string; readonly assets_bundle_dir?: string; readonly uuid_options: UUID_Options; readonly allow_duplicates: boolean; readonly consistent_randomization?: boolean; readonly seed: string; }; export type ExamGeneratorOptions = Partial; export declare class ExamGenerator { readonly exam: Exam; readonly assignedExams: AssignedExam[]; readonly assignedExamsByUniqname: { [index: string]: AssignedExam | undefined; }; private readonly sectionsMap; private readonly questionsMap; private readonly sectionStatsMap; private readonly questionStatsMap; private readonly options; private onStatus?; private totalExams; constructor(exam: Exam, options?: ExamGeneratorOptions, onStatus?: (status: string) => void); assignExams(students: readonly StudentInfo[]): void; assignExam(student: StudentInfo): void; private assignExam_impl; private makeSeed; private checkExam; private writeStats; private updateStats; private writeAssets; renderExams(exam_renderer: ExamRenderer): string[]; writeAll(exam_renderer: ExamRenderer, outDir?: string, dataDir?: string, clearExisting?: boolean): void; } export {};