import { Session } from "../types/session"; import { StudentAssessmentScores } from "../types/student"; import Data, { DifferenceIn, ExportType, ScoreTypeE, XAxisLabelEnum } from "./Data"; export type Categories = (keyof StudentAssessmentScores["Algorithms"]) | "Algorithms Dead Code Penalty" | "Algorithms Composite Score" | (keyof StudentAssessmentScores["Analysis"]) | "Analysis Composite Score" | "Analysis Dead Code Penalty" | (keyof StudentAssessmentScores["Decomposition"]) | "Decomposition Composite Score" | (keyof StudentAssessmentScores["Generalisation and Abstraction"]) | "Generalisation and Abstraction Composite Score" | (keyof StudentAssessmentScores["Pattern Recognition and Data Representation"]) | "Pattern Recognition and Data Representation Repetition Penalty" | "Pattern Recognition and Data Representation Composite Score"; export default class Preprocessor { data: Data; constructor(sessions: Session[]); private convertSessionToDataAndMeta; sortData(): this; normaliseScores(): this; calculateMovingAverageBasedOnSessions(plotXAxisLabelType: XAxisLabelEnum): this; calculateMovingAverageBasedOnDataPoints(windowSize: number): this; calculateMovingAverageBasedOnDates(windowSize: number, differenceIn?: DifferenceIn): this; calculateMovingStdBasedOnDataPoints(windowSize: number): this; calculateMovingStdBasedOnDates(windowSize: number, differenceIn?: DifferenceIn): this; penaliseScores(): this; calculateCompositeScores(scoreType: ScoreTypeE, withPenatly?: boolean): this; calculateCompositeScoreOverTime(scoreType: ScoreTypeE): this; calculateAverageGivenTimeWindow(windowSize: number, halfLife?: number | "automatic", differenceIn?: DifferenceIn): this; calculateMovingConfidenceIntervals(windowSize: number, basedOn?: 'dataPoints' | 'dates', differenceIn?: DifferenceIn): this; calculateMovingMaxBasedOnDates(windowSize: number, differenceIn?: DifferenceIn): this; calculateMovingMaxBasedOnSessions(plotXAxisLabelType: XAxisLabelEnum): this; calculateLeakyIntegrator(decreaseFactor: number, increaseFactor: number, lowerBoundDecreaseFactor: number, lowerBoundIncreaseFactor: number, upperBoundDecreaseFactor: number, upperBoundIncreaseFactor: number): this; exportToLineGraphData(categories?: Categories[], type?: ExportType): ({ x: string[]; y: number[]; name: string; legendgroup: keyof import("@robotical/automatic-assessments").Scores | "Composite"; hoverinfo: string; text: string[]; type: string; mode: string; fillcolor?: undefined; line?: undefined; fill?: undefined; } | { x: string[]; y: number[] | undefined; name: string; type: string; mode: string; fillcolor: string; line: { color: string; }; legendgroup?: undefined; hoverinfo?: undefined; text?: undefined; fill?: undefined; } | { x: string[]; y: number[] | undefined; name: string; type: string; mode: string; fill: string; fillcolor: string; line: { color: string; }; legendgroup?: undefined; hoverinfo?: undefined; text?: undefined; })[]; exportToSpiderGraphData_Leaky(categories?: Categories[], type?: ExportType, splitByCategory?: boolean): any[]; exportToSpiderGraphData(categories?: Categories[], type?: ExportType, splitByCategory?: boolean): any[]; exportToHeatMapData(categories?: Categories[], type?: ExportType): { x: string[]; y: Categories[]; z: number[][]; type: string; colorscale: string; }[]; exportToLeakyIntegratorData(categories?: (Categories | "Composite")[]): ({ x: string[]; y: number[]; name: string; type: string; legendgroup?: undefined; hoverinfo?: undefined; text?: undefined; mode?: undefined; fillcolor?: undefined; line?: undefined; fill?: undefined; } | { x: string[]; y: number[] | undefined; name: string; legendgroup: keyof import("@robotical/automatic-assessments").Scores | "Composite"; hoverinfo: string; text: string[] | undefined; type: string; mode: string; fillcolor?: undefined; line?: undefined; fill?: undefined; } | { x: string[]; y: number[] | undefined; name: string; type: string; mode: string; fillcolor: string; line: { color: string; }; legendgroup?: undefined; hoverinfo?: undefined; text?: undefined; fill?: undefined; } | { x: string[]; y: number[] | undefined; name: string; type: string; mode: string; fill: string; fillcolor: string; line: { color: string; }; legendgroup?: undefined; hoverinfo?: undefined; text?: undefined; })[]; }