import { JGOFAIReview } from "../formats/JGOF"; import { GobanEngine } from "../GobanEngine"; export declare const DEFAULT_SCORE_DIFF_THRESHOLDS: ScoreDiffThresholds; export type MoveCategory = "Excellent" | "Great" | "Good" | "Inaccuracy" | "Mistake" | "Blunder"; export type ScoreDiffThresholds = { Excellent: number; Great: number; Good: number; Inaccuracy: number; Mistake: number; }; export interface AiReviewCategorization { uuid: string; move_counters: MoveCounters; score_loss_list: ScoreLossList; total_score_loss: { black: number; white: number; }; categorized_moves: MoveNumbers; opening_moves: { black: Set; white: Set; }; avg_score_loss: { black: number; white: number; }; median_score_loss: { black: number; white: number; }; strong_move_rate: { black: number; white: number; }; moves_pending: number; } type PlayerMoveCounts = { [K in MoveCategory]: number; }; type PlayerMoveNumbers = { [K in MoveCategory]: number[]; }; type MoveCounters = { black: PlayerMoveCounts; white: PlayerMoveCounts; }; type MoveNumbers = { black: PlayerMoveNumbers; white: PlayerMoveNumbers; }; type ScoreLossList = { black: { move: number; scoreLoss: number; }[]; white: { move: number; scoreLoss: number; }[]; }; export declare function AIReviewData_categorize(ai_review: JGOFAIReview, engine: GobanEngine, scoreDiffThresholds?: ScoreDiffThresholds, includeNegativeScoreLoss?: boolean): AiReviewCategorization | null; export {};