export declare const FILE_SYSTEM_BUSY = "FILE_SYSTEM_BUSY"; export declare const TEMPORARY_ERROR = "TEMPORARY_ERROR"; export declare const IO_ERROR = "IO_ERROR"; /** * Retry options */ export interface RetryOptions { /** * Maximum number of retry attempts * @default 3 */ maxRetries?: number; /** * Base delay in milliseconds between retries (will be exponentially increased) * @default 300 */ baseDelay?: number; /** * Factor to multiply delay by for each retry * @default 2 */ backoffFactor?: number; /** * Maximum delay in milliseconds * @default 2000 */ maxDelay?: number; /** * Custom error filter to determine if an error is retryable * @default (error) => isRetryableError(error) */ retryableErrorFilter?: (error: unknown) => boolean; } /** * Determines if an error is retryable * @param error Error to check * @returns True if the error is retryable, false otherwise */ export declare function isRetryableError(error: unknown): boolean; /** * Retry a function with exponential backoff * @param fn Function to retry * @param options Retry options * @returns Promise resolving to the result of the function * @throws The last error if all retries fail */ export declare function withRetry(fn: () => Promise, options?: RetryOptions): Promise; /** * Wrapper for file system operations to automatically retry on retryable errors * @param operation Operation name for logging * @param fn Function to execute * @param options Retry options * @returns Promise resolving to the result of the function */ export declare function withFileSystemRetry(operation: string, fn: () => Promise, options?: RetryOptions): Promise; //# sourceMappingURL=FileSystemRetryUtils.d.ts.map