import { type XyoAddress } from '@xyo-network/sdk';
import type { BlockViewer, CachingContext, ChainQualified, ChainQualifiedConfig, MapType } from '@xyo-network/xl1-protocol/protocol-lib';
import type { Semaphore } from 'async-mutex';
import type { BalancesStepSummary } from '../../model/index.js';
/**
 * BalancesSummary helper function. Only aggregates `addresses` — the qualified frame(s) can
 * carry balances for far more addresses than any one caller needs, and the head-qualified range
 * changes every block, so the result isn't a candidate for caching; pruning to the requested
 * addresses before validating/summing keeps the per-call cost proportional to the request instead
 * of to the whole chain's active-address count.
 */
export declare function balancesSummary(context: CachingContext, semaphores: Semaphore[], blockViewer: BlockViewer, summaryMap: MapType<string, BalancesStepSummary>, addresses: XyoAddress[], config?: ChainQualifiedConfig): Promise<ChainQualified<Record<XyoAddress, bigint>>>;
//# sourceMappingURL=balancesSummary.d.ts.map