//#region src/retry/withRetry.d.ts
interface RetryOptions {
  maxRetries?: number;
  baseDelayMs?: number;
  maxDelayMs?: number;
  retryableCodes?: Set<string>;
  context?: string;
  noRetry?: boolean;
}
declare function withRetry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T>;
declare function withRetryTransaction<T>(db: {
  transaction: (fn: (tx: any) => Promise<T>) => Promise<T>;
}, txFn: (tx: any) => Promise<T>, options?: Omit<RetryOptions, 'noRetry'>): Promise<T>;
//#endregion
export { RetryOptions, withRetry, withRetryTransaction };