import { OpRecord } from '../observe/record.ts';
import { type Measured } from './types.ts';
/** Identity of one live mount; never persisted. */
export declare class VersionScope {
    readonly pins: Map<string, string>;
}
/** A live session's observations, independent of shared cache eviction. */
export declare class VersionHistory {
    private readonly scopes;
    /**
     * Return the token observed for this mount-relative key, ABSENT when the
     * session last found no file there.
     */
    read(scope: VersionScope, key: string): Measured | null;
    /** Retain a refused condition, or a miss, until this session reads again. */
    keep(scope: VersionScope, key: string, version: Measured | null): void;
    /** Keep the exact record, including a stream's later token stamp. */
    observe(scope: VersionScope, key: string, rec: OpRecord): void;
}
//# sourceMappingURL=versions.d.ts.map