import type { ReanchorResult, ReanchorStatus } from "../lib/types.js"; export interface EvaluationDocument { text?: string; path?: string; } export interface EvaluationAnchor { line?: number; end_line?: number; start_column?: number; end_column?: number; selected_text?: string; selected_text_hash?: string; commit?: string; } export interface EvaluationRange { line: number; end_line?: number; start_column?: number; end_column?: number; } export interface EvaluationExpectation { status: ReanchorStatus; ranges?: EvaluationRange[]; rationale?: string; } export interface EvaluationComment { id: string; anchor: EvaluationAnchor; expected: EvaluationExpectation; } export interface EvaluationCase { id: string; description?: string; categories: string[]; source: EvaluationDocument; target: EvaluationDocument; generation?: EvaluationGeneration; comments: EvaluationComment[]; } export interface EvaluationGeneration { generator_version: 1; seed: number; blocks_per_case: number; comments_per_case: number; operations: EvaluationMutation[]; } export interface EvaluationMutation { type: "insert-block" | "delete-block" | "move-block" | "rewrite-block" | "duplicate-block" | "swap-blocks" | "whitespace-block" | "split-block" | "merge-blocks" | "rename-heading"; block_ids: string[]; } export interface EvaluationCommentResult { caseId: string; commentId: string; expected: EvaluationExpectation; actual: ReanchorResult; statusCorrect: boolean; rangeCorrect: boolean; passed: boolean; durationMs: number; } export interface EvaluationSummary { algorithm: string; cases: number; comments: number; passed: number; failed: number; exactRangeMatches: number; statusMatches: number; incorrectConfidentRelocations: number; durationMs: number; timingMs: { median: number; p95: number; max: number; perComment: number; reconciliationMax: number; }; results: EvaluationCommentResult[]; } export interface EvaluationBaseline { version: 1; algorithm: string; cases: number; comments: number; metrics: { passed: number; failed: number; exactRangeMatches: number; statusMatches: number; incorrectConfidentRelocations: number; }; results: EvaluationBaselineResult[]; } export interface EvaluationBaselineResult { caseId: string; commentId: string; expectedStatus: ReanchorStatus; actual: ReanchorResult; statusCorrect: boolean; rangeCorrect: boolean; passed: boolean; } export interface LoadedEvaluationCase { casePath: string; value: EvaluationCase; } export declare function loadEvaluationCases(casesPath: string, schemaPath: string): Promise; export declare function evaluateCases(cases: LoadedEvaluationCase[]): Promise; export declare function createEvaluationBaseline(summary: EvaluationSummary): EvaluationBaseline; export declare function findBaselineDifferences(expected: EvaluationBaseline, actual: EvaluationBaseline): string[]; //# sourceMappingURL=reanchor-eval.d.ts.map