import type { RetryConfig, RetryStrategyName } from '@plyaz/types/api'; /** * Pre-configured retry strategies for common use cases * * @example * ```typescript * import { retryStrategies } from '@plyaz/api/retry'; * * // Use in API client * const api = createApiClient({ * retry: retryStrategies.aggressive * }); * * // Or use by name * const api = createApiClient({ * retry: 'aggressive' * }); * ``` */ export declare const retryStrategies: Readonly>; /** * Helper to create custom retry strategy * * @example * ```typescript * const customRetry = createRetryStrategy({ * attempts: 5, * delay: 2000, * backoff: 1.5 * }); * ``` */ export declare function createRetryStrategy(config: RetryConfig): RetryConfig; /** * Get retry strategy by name with runtime validation */ export declare function getRetryStrategy(name: RetryStrategyName): RetryConfig; /** * Apply retry strategy by name or config * * @param strategy - Strategy name or config object * @returns Retry configuration * * @example * ```typescript * const config = applyRetryStrategy('aggressive'); * // or * const config = applyRetryStrategy({ attempts: 5 }); * ``` */ export declare function applyRetryStrategy(strategy: RetryStrategyName | RetryConfig | false): RetryConfig | undefined; /** * Merge multiple retry strategies (last wins) */ export declare function mergeRetryStrategies(...configs: (RetryConfig | undefined)[]): RetryConfig; //# sourceMappingURL=strategies.d.ts.map