import type { PaginatedResult } from '../../models/PaginatedResult';
import type { TestListItem, TestMetadata, TestsQuery } from '../../models/TestMetadata';
import type { FlowsPersistence } from '../flows/FlowsPersistence';
import type { TestsPersistence } from './TestsPersistence';
/**
 * A volatile (in-memory) implementation of TestsPersistence.
 */
export declare class TestsPersistenceVolatile implements TestsPersistence {
    private readonly tests;
    /**
     * Optional flows-source callback used to compute flow-derived sort
     * keys (`flow_count`, `latest_flow_created_at`). When supplied, the
     * volatile layer can natively sort by those keys; otherwise they
     * fall back to the existing best-effort string-index lookup. The
     * callback is async so the registry can resolve the flows
     * persistence layer lazily.
     */
    private readonly flowsSource?;
    constructor(tests?: Map<string, TestMetadata>, 
    /**
     * Optional flows-source callback used to compute flow-derived sort
     * keys (`flow_count`, `latest_flow_created_at`). When supplied, the
     * volatile layer can natively sort by those keys; otherwise they
     * fall back to the existing best-effort string-index lookup. The
     * callback is async so the registry can resolve the flows
     * persistence layer lazily.
     */
    flowsSource?: (() => Promise<FlowsPersistence>) | undefined);
    createTest(testMetadata: TestMetadata): Promise<void>;
    updateTest(testMetadata: TestMetadata): Promise<void>;
    getTestById(testId: string): Promise<TestMetadata>;
    getTests(query: TestsQuery): Promise<PaginatedResult<TestListItem>>;
    deleteTest(testId: string): Promise<void>;
}
//# sourceMappingURL=TestsPersistenceVolatile.d.ts.map