import { EventContext } from './default-event-dispatcher'; import Event from './event'; import { EventDeliveryResult } from './event-delivery'; export interface IEventDelivery { deliver(batch: Event[], context: EventContext): Promise; } /** * Attempts to retry delivering a batch of events to the ingestionUrl up to `maxRetries` times * using exponential backoff. */ export default class BatchRetryManager { private readonly delivery; private readonly config; /** * @param config.retryInterval - The minimum retry interval in milliseconds * @param config.maxRetryDelayMs - The maximum retry delay in milliseconds * @param config.maxRetries - The maximum number of retries */ constructor(delivery: IEventDelivery, config: { retryIntervalMs: number; maxRetryDelayMs: number; maxRetries: number; }); /** Re-attempts delivery of the provided batch, returns the UUIDs of events that failed retry. */ retry(batch: Event[], context: EventContext, attempt?: number): Promise; } //# sourceMappingURL=batch-retry-manager.d.ts.map