import type { LixChangeRaw } from "../../../change/schema-definition.js";
import type { LixEngine } from "../../../engine/boot.js";
/**
 * Represents a single version entry inside the inheritance map.
 */
export type VersionInheritanceNode = {
    versionId: string;
    inheritsFromVersionId: string | null;
    ancestors: readonly string[];
};
/**
 * Snapshot of all known versions keyed by their identifier.
 */
export type VersionInheritanceMap = Map<string, VersionInheritanceNode>;
export type VersionInheritanceCache = {
    /**
     * Returns the current snapshot of all cached versions.
     */
    getSnapshot: () => VersionInheritanceMap;
};
type InternalVersionInheritanceCache = VersionInheritanceCache & {
    applyDescriptorChanges: (changes: readonly LixChangeRaw[]) => void;
};
/**
 * Creates an in-memory cache for version inheritance metadata.
 *
 * @example
 * ```ts
 * const cache = createVersionInheritanceCache();
 * cache.applyDescriptorChanges(changes);
 * ```
 */
export declare function createVersionInheritanceCache(): InternalVersionInheritanceCache;
export declare function getVersionInheritanceSnapshot(args: {
    engine: Pick<LixEngine, "runtimeCacheRef" | "hooks" | "sqlite">;
}): VersionInheritanceMap;
export {};
//# sourceMappingURL=version-inheritance-cache.d.ts.map