import type { PropValue } from '../../types/PropValue.ts';
import type { CheckpointTailPatchEntry } from './CheckpointTailOpticSource.ts';
export default class CheckpointTailFactReducer {
    private readonly _graphName;
    constructor(options: {
        readonly graphName: string;
    });
    includesNodeLiveness(entry: CheckpointTailPatchEntry, nodeId: string): boolean;
    includesProperty(entry: CheckpointTailPatchEntry, nodeId: string, propertyKey: string): boolean;
    includesNeighborhood(entry: CheckpointTailPatchEntry, options: {
        readonly nodeId: string;
        readonly direction: 'in' | 'out' | 'both';
        readonly labels: readonly string[];
    }): boolean;
    reduceNodeLiveness(baseAlive: boolean, tailEntries: readonly CheckpointTailPatchEntry[], nodeId: string): boolean;
    reduceProperty(options: {
        readonly baseValue: PropValue | undefined;
        readonly tailEntries: readonly CheckpointTailPatchEntry[];
        readonly nodeId: string;
        readonly propertyKey: string;
    }): PropValue | undefined;
    assertNeighborhoodTailStable(tailEntries: readonly CheckpointTailPatchEntry[]): void;
    private _reduceNodeLivenessEntry;
    private _reduceNodeLivenessOp;
    private _tailPropertyRegister;
    private _addTailPropertyEntryRegister;
    private _addTailPropertyOperationRegister;
}
