import { DatabaseAdapter, DeltaModel } from '../core/types';
export interface TestModel extends DeltaModel {
    value: string;
    testField?: any;
}
export interface PerformanceTesterOptions {
    testStoreName?: string;
    itemCount?: number;
    iterations?: number;
    fileSize?: number;
    concurrentOperations?: number;
    verbose?: boolean;
    cleanupAfterTest?: boolean;
}
export declare class PerformanceTester {
    private adapter;
    private options;
    private testStoreName;
    private createdFileIds;
    private createdItemIds;
    constructor(adapter: DatabaseAdapter, options?: PerformanceTesterOptions);
    /**
     * Run all performance tests
     */
    runAllTests(): Promise<{
        success: boolean;
        results: Record<string, PerformanceResult>;
    }>;
    testSingleItemWrite(): Promise<PerformanceResult>;
    testSingleItemRead(): Promise<PerformanceResult>;
    testSingleItemDelete(): Promise<PerformanceResult>;
    testBulkWrite(): Promise<PerformanceResult>;
    testBulkRead(): Promise<PerformanceResult>;
    testBulkDelete(): Promise<PerformanceResult>;
    testBulkFileWrite(): Promise<PerformanceResult>;
    testBulkFileRead(): Promise<PerformanceResult>;
    testBulkFileDelete(): Promise<PerformanceResult>;
    testPagination(): Promise<PerformanceResult>;
    testStress(): Promise<PerformanceResult>;
    cleanupTestData(): Promise<void>;
    private calculatePerformanceResult;
}
export interface PerformanceResult {
    averageTimeMs: number;
    minTimeMs: number;
    maxTimeMs: number;
    operationsPerSecond: number;
    throughputMBps?: number;
}
export declare function testAdapterPerformance(adapter: DatabaseAdapter, options?: PerformanceTesterOptions): Promise<Record<string, PerformanceResult>>;
