import { ServiceBusMessage } from '@azure/service-bus'; import { SbMessageEmitter } from '@pebula/attribus'; export interface SbBackoffRetryOptions { /** The raw delay unit in milliseconds */ delay?: number; /** The factor to use on the delay unit */ factor?: number; /** * The distort factor (height = more random, 0 = no randomness) * E.G: For the value 10, the final delay will be multiplied by a value between 0.9 to 1.1 */ distortFactor?: number; retryCount?: number; delayType?: 'linear' | 'exponential'; /** * Entity (queue or topic) to re-submit retry messages to. * If not set, the entity that this backoff is set on will be used. */ reSubmitter?: SbMessageEmitter; /** * The key used to store the current retry count on the user properties object stored on the message. * * defaults to "SB_BACKOFF_RETRY_COUNT" */ retryCountKey?: string; /** * What to do when the retry is maxed out. * * defaults to 'abandon' */ onBackoffMaxRetry?: 'abandon' | 'deadLetter' | 'complete'; } export declare const DEFAULT_BACKOFF_CONFIG: SbBackoffRetryOptions; export declare function extractRetryCount(retryCountKey: string, msg: ServiceBusMessage): number | false; export declare function calculateBackOffTime(config: SbBackoffRetryOptions, currentIteration: number): number; //# sourceMappingURL=utils.d.ts.map