import NodeOpticReadResult from './NodeOpticReadResult.ts';
import NodePropertyOpticReadResult from './NodePropertyOpticReadResult.ts';
import type CheckpointTailOpticSource from './CheckpointTailOpticSource.ts';
import NeighborhoodOpticReadResult from './NeighborhoodOpticReadResult.ts';
import type { NeighborhoodOpticReadOptions } from './NeighborhoodOptic.ts';
import Optic from './Optic.ts';
import type TraversalOpticReadResult from './TraversalOpticReadResult.ts';
import type { TraversalOpticReadOptions } from './TraversalOptic.ts';
export default class CheckpointTailWitnessLocator {
    private readonly _graphName;
    private readonly _basisLoader;
    private readonly _shardReader;
    private readonly _factReducer;
    private readonly _readIdentityBuilder;
    private readonly _tailScan;
    constructor(options: {
        readonly source: CheckpointTailOpticSource;
        readonly maxTailPatches?: number;
    });
    readNode(optic: Optic): Promise<NodeOpticReadResult>;
    readNodeProperty(optic: Optic): Promise<NodePropertyOpticReadResult>;
    readNeighborhood(optic: Optic, options: NeighborhoodOpticReadOptions): Promise<NeighborhoodOpticReadResult>;
    readTraversal(optic: Optic, options: TraversalOpticReadOptions): Promise<TraversalOpticReadResult>;
    private _readNodeResult;
    private _readNodePropertyResult;
    private _readNeighborhoodResult;
    private _readTraversalResult;
    private _traversalReaderFor;
    private _scanTailForNode;
    private _scanTailForProperty;
    private _scanTailForNeighborhood;
}
