import type { WarpStateCoordinate, WarpStateSnapshotRecord } from '../../../ports/WarpStateCachePort.ts';
type CompatibilityPredicate = (candidate: WarpStateCoordinate, target: WarpStateCoordinate) => boolean;
type WarpStateSnapshotIndexOptions = {
    isCoordinateCompatible: CompatibilityPredicate;
};
export default class WarpStateSnapshotIndex {
    private readonly _isCoordinateCompatible;
    private readonly _byId;
    private readonly _byCoordinateKey;
    constructor(options: WarpStateSnapshotIndexOptions);
    upsert(snapshot: WarpStateSnapshotRecord): void;
    findExact(coordinate: WarpStateCoordinate): WarpStateSnapshotRecord | null;
    findBestCompatiblePredecessor(coordinate: WarpStateCoordinate): WarpStateSnapshotRecord | null;
    findById(snapshotId: string): WarpStateSnapshotRecord | null;
    pruneEvictable(options: {
        maxEntries: number;
    }): void;
}
export {};
