/** * `createTxGroup` — synthesis layer on top of per-hash tracker * subscriptions. Spec §18.1, v0.8.0 design F3. * * Listens to each member hash via the tracker's existing subscribe API, * tracks confirmed/failed counters, and emits group-progress / * group-complete / group-failed once per terminal transition. Member * unsubscribes are torn down on stop(). * * Replacement does NOT auto-promote — if a member is replaced via * same-nonce bump, the group emits group-failed with reason * 'replaced'. The consumer constructs a new group with the new hash * if they want the replacement to count. * * Edge case: an empty hashes array immediately emits group-complete * with total=0 (vacuously all confirmed) and marks the group terminal. * This is a safe, predictable default and matches the mathematical * sense of "all zero members confirmed." */ import type { Hash } from './events.js'; import type { GroupOptions, TxGroupSubscription, TxTracker } from './tracker.js'; /** * Construct a group subscription that synthesises per-member `TxEvent` * streams into group-level events. * * @param tracker - The tracker instance to call `subscribe` on. * @param hashes - Member transaction hashes. Order is not significant. * @param options - Optional group-level and member-level overrides. */ export declare const createTxGroup: (tracker: TxTracker, hashes: Hash[], options?: GroupOptions) => TxGroupSubscription; //# sourceMappingURL=group.d.ts.map