import type { Logger } from '../../../tools/notifiers/logger.js';
type RetryStrategyName = 'fixed' | 'exponential' | 'none';
export type RetryOptions = {
    maxRetries?: number;
    retryStrategy?: RetryStrategyName;
    delay?: number;
    logger?: Logger;
    messages?: {
        retry: string;
        maxRetriesReached: string;
    };
};
/**
 * Executes an async operation with configurable retry logic
 *
 * @param operation - The async operation to execute and potentially retry
 * @param options - Configuration options for retry behavior
 * @returns A promise that resolves with the operation result or rejects after all retries fail
 */
export declare const retryAsyncOperation: <T>(operation: () => Promise<T>, options?: RetryOptions) => Promise<T>;
export {};
//# sourceMappingURL=retry-async-operation.d.ts.map