import { Locale } from 'date-fns'; import { LineChartDataPoint, LineChartSeries } from '../../components/LineChart'; import { ScoreIndicatorSubject } from '../../components/ScoreIndicator'; export type GradeSystem = 'note' | 'points'; export interface GradeEntry { /** ISO date string */ date: string; subject: string; /** Exam type, e.g. "Test", "Exam", "Quiz" */ examType: string; value: number; /** Subject group driving the line colour — same groups/colours used by ScoreIndicator. Falls back to a hash-derived colour when omitted. */ subjectCode?: ScoreIndicatorSubject; } export interface GradeHistoryChartProps { entries: GradeEntry[]; gradeSystem: GradeSystem; minValue: number; maxValue: number; /** * Forces the Y axis direction, overriding the `gradeSystem`-derived default * (`true` for `'note'`, `false` for `'points'`). Use this for a scale that is inverted * (lower is better) but isn't German `Note` — e.g. Austria's 1–5 scale. */ reversed?: boolean; /** * Forces the Y-tick interval, overriding the `gradeSystem`-derived default * (`1` for `'note'`, otherwise `Math.ceil((maxValue - minValue) / 5)`). Use this for a * scale where the derived step would skip integers — e.g. a 1–10 scale that would * otherwise tick every 2. */ tickStep?: number; classAverage?: number; locale?: Locale; labels: { /** Required when `classAverage` is set — it labels the dashed reference line. */ classAverage?: string; noData: string; }; } export declare function buildChartData(entries: GradeEntry[]): { data: LineChartDataPoint[]; series: LineChartSeries[]; colorMap: Record; }; export declare function GradeHistoryChart({ entries, gradeSystem, minValue, maxValue, reversed: reversedOverride, tickStep, classAverage, locale, labels, }: GradeHistoryChartProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=GradeHistoryChart.d.ts.map