import type { Hash } from '@ariestools/sdk';
import type { BlocksStepSummary, BlockViewer, CachingContext, MapType, XL1BlockRange } from '@xyo-network/xl1-protocol/protocol-lib';
import type { Semaphore } from 'async-mutex';
/** BlocksStepSummaryKey helper function. */
export declare function blocksStepSummaryKey(frameHeadHash: Hash, frameSize: number): string;
/**
 * Builds (and caches) the BlocksStepSummary for an aligned step frame, holding every block in the
 * frame. A frame larger than a single block is composed of its step-(N-1) sub-frame summaries, so
 * a completed step's summary is keyed by its last block hash and never recomputed once cached.
 */
export declare function blocksStepSummaryFromRange(context: CachingContext, semaphores: Semaphore[], blockViewer: BlockViewer, summaryMap: MapType<string, BlocksStepSummary>, range: XL1BlockRange): Promise<BlocksStepSummary>;
//# sourceMappingURL=blocksStepSummaryFromRange.d.ts.map