import type { Benchmark, BenchmarkRun, TestCase } from '../types/index.js';
/**
 * Enhanced version data with diff information
 */
export interface VersionData {
    version: number;
    createdAt: string;
    testCaseIds: string[];
    isLatest: boolean;
    added: string[];
    removed: string[];
    runCount: number;
}
/**
 * Compute version data with diff information for a benchmark.
 * Returns versions sorted by version number (newest first) with added/removed test case IDs.
 */
export declare function computeVersionData(benchmark: Benchmark | null): VersionData[];
/**
 * Get version data for a specific version number or the latest version.
 * @param versionData - Array of computed version data
 * @param selectedVersion - Version number to get, or null for latest
 */
export declare function getSelectedVersionData(versionData: VersionData[], selectedVersion: number | null): VersionData | null;
/**
 * Get test cases for a specific version.
 * @param testCases - All available test cases
 * @param selectedVersionData - The version data to get test cases for
 */
export declare function getVersionTestCases(testCases: TestCase[], selectedVersionData: VersionData | null): TestCase[];
/**
 * Filter runs by version.
 * @param runs - All benchmark runs
 * @param versionFilter - Version number to filter by, or 'all' for all runs
 */
export declare function filterRunsByVersion(runs: BenchmarkRun[] | undefined, versionFilter: number | 'all'): BenchmarkRun[];
//# sourceMappingURL=benchmarkVersionUtils.d.ts.map