export interface FollowerDeliveryState { queuedButUndeliveredIds: Set; deliveredAwaitingAckIds: Set; ackInFlightIds: Set; } export declare function createFollowerDeliveryState(): FollowerDeliveryState; export declare function resetFollowerDeliveryState(state: FollowerDeliveryState): void; export declare function isFollowerInboxIdTracked(state: FollowerDeliveryState, inboxId: number): boolean; export declare function queueFollowerInboxIds(state: FollowerDeliveryState, inboxIds: Iterable): void; export declare function markFollowerInboxIdsDelivered(state: FollowerDeliveryState, inboxIds: Iterable): void; export declare function hasDeliveredFollowerInboxIds(state: FollowerDeliveryState): boolean; export declare function takeFollowerAckBatch(state: FollowerDeliveryState): number[]; export declare function markFollowerAckBatchSucceeded(state: FollowerDeliveryState, inboxIds: Iterable): void; export declare function markFollowerAckBatchFailed(state: FollowerDeliveryState, inboxIds: Iterable): void; export declare function drainFollowerAckBatches(state: FollowerDeliveryState, ackBatch: (inboxIds: number[]) => Promise): Promise; export declare function getFollowerShutdownAckIds(state: FollowerDeliveryState): number[];