import type { NeighborhoodOpticReadOptions } from './NeighborhoodOptic.ts';
import type NeighborhoodOpticReadResult from './NeighborhoodOpticReadResult.ts';
import type { TraversalOpticReadOptions } from './TraversalOptic.ts';
import TraversalOpticReadResult from './TraversalOpticReadResult.ts';
type TraversalNeighborhoodRead = (nodeId: string, options: NeighborhoodOpticReadOptions) => Promise<NeighborhoodOpticReadResult>;
export default class CheckpointTailTraversalReader {
    private readonly _readNeighborhood;
    constructor(options: {
        readonly readNeighborhood: TraversalNeighborhoodRead;
    });
    read(startNodeId: string, options: TraversalOpticReadOptions): Promise<TraversalOpticReadResult>;
    private _drainFrontier;
    private _expandFrontierEntry;
    private _readNeighborhoodForEntry;
}
export {};
