/**
 * Automated Performance Benchmarks
 *
 * Measure and track performance:
 * - Startup time
 * - Tool execution latency
 * - Memory usage
 * - Token processing speed
 * - File operation throughput
 */
export interface BenchmarkResult {
    name: string;
    iterations: number;
    totalTime: number;
    avgTime: number;
    minTime: number;
    maxTime: number;
    stdDev: number;
    opsPerSecond: number;
    memoryUsed?: number;
    timestamp: Date;
}
export interface BenchmarkSuite {
    name: string;
    results: BenchmarkResult[];
    totalDuration: number;
    systemInfo: SystemInfo;
    timestamp: Date;
}
export interface SystemInfo {
    platform: string;
    arch: string;
    cpus: number;
    totalMemory: number;
    freeMemory: number;
    nodeVersion: string;
    v8Version?: string;
}
export interface BenchmarkOptions {
    /** Number of iterations */
    iterations?: number;
    /** Warmup iterations */
    warmupIterations?: number;
    /** Timeout per iteration in ms */
    timeout?: number;
    /** Collect memory stats */
    collectMemory?: boolean;
    /** Output directory */
    outputDir?: string;
}
/**
 * Benchmark Runner
 */
export declare class BenchmarkRunner {
    private options;
    private results;
    constructor(options?: BenchmarkOptions);
    /**
     * Run a benchmark
     */
    benchmark(name: string, fn: () => Promise<void> | void, options?: Partial<BenchmarkOptions>): Promise<BenchmarkResult>;
    /**
     * Run multiple benchmarks as a suite
     */
    runSuite(name: string, benchmarks: Array<{
        name: string;
        fn: () => Promise<void> | void;
    }>): Promise<BenchmarkSuite>;
    /**
     * Get system information
     */
    private getSystemInfo;
    /**
     * Save results to file
     */
    saveResults(suite: BenchmarkSuite): Promise<string>;
    /**
     * Format results as table
     */
    formatResults(suite: BenchmarkSuite): string;
    /**
     * Compare with previous results
     */
    compareWithBaseline(suite: BenchmarkSuite, baselinePath: string): Promise<string>;
}
/**
 * Common benchmark utilities
 */
export declare const benchmarks: {
    /**
     * Measure async function
     */
    measureAsync<T>(fn: () => Promise<T>): Promise<{
        result: T;
        duration: number;
    }>;
    /**
     * Measure sync function
     */
    measureSync<T>(fn: () => T): {
        result: T;
        duration: number;
    };
    /**
     * Create a string of specified size
     */
    createString(sizeInKB: number): string;
    /**
     * Create test file
     */
    createTestFile(filePath: string, sizeInKB: number): Promise<void>;
    /**
     * Cleanup test files
     */
    cleanup(dir: string): Promise<void>;
};
/**
 * Pre-defined benchmark suites
 */
export declare function runCoreEngineBenchmarks(runner: BenchmarkRunner): Promise<BenchmarkSuite>;
/**
 * Run all benchmarks
 */
export declare function runAllBenchmarks(options?: BenchmarkOptions): Promise<BenchmarkSuite[]>;
export default BenchmarkRunner;
