import { type GraphStructureMetrics } from '../pipeline/analyze.js'; import { type CorpusBaselineSource } from './benchmark/corpus.js'; import { type BenchmarkPromptExecution, type BenchmarkPromptRunnerResult } from './benchmark/runner.js'; import { type BenchmarkMissingExpectedLabels, type BenchmarkQuestionInput, type BenchmarkQuestionResult } from './benchmark/questions.js'; export { loadBenchmarkQuestions, querySubgraphTokens, type BenchmarkQuestionInput } from './benchmark/questions.js'; export declare const SAMPLE_QUESTIONS: string[]; export interface BenchmarkSuccessResult { corpus_tokens: number; corpus_words: number; corpus_source: CorpusBaselineSource; nodes: number; edges: number; structure_signals: GraphStructureMetrics | null; question_count: number; matched_question_count: number; unmatched_questions: string[]; expected_label_count: number; matched_expected_label_count: number; missing_expected_labels: BenchmarkMissingExpectedLabels[]; avg_query_tokens: number; avg_effective_query_tokens?: number; avg_reused_context_tokens?: number; avg_total_tokens?: number | null; reduction_ratio: number; effective_reduction_ratio?: number; provider_proof?: { input_tokens_basis: 'provider_reported' | 'mixed' | 'estimated'; effective_tokens_basis: 'provider_cache_read_tokens' | 'provider_input_minus_zero_cache' | 'mixed' | 'session_reuse_estimate'; total_tokens_basis: 'provider_reported' | 'mixed' | 'not_available'; usage_runs: number; total_runs: number; providers: string[]; }; per_question: BenchmarkQuestionResult[]; } export interface BenchmarkErrorResult { error: string; } export type BenchmarkResult = BenchmarkSuccessResult | BenchmarkErrorResult; export interface BenchmarkRunOptions { execTemplate?: string; outputDir?: string; now?: Date; retrievalBudget?: number; runner?: (execution: BenchmarkPromptExecution) => Promise; } export declare function runBenchmark(graphPath?: string, corpusWords?: number | null, questions?: BenchmarkQuestionInput[], options?: BenchmarkRunOptions): BenchmarkResult | Promise; export declare function printBenchmark(result: BenchmarkResult): void;