import { type ComponentType, type LazyExoticComponent } from 'react';
export declare class ChunkLoadError extends Error {
    readonly cause?: Error;
    constructor(message: string, cause?: Error);
}
export declare function isChunkLoadError(error: unknown): boolean;
interface LazyWithRetryOptions {
    readonly retries?: number;
    readonly delayMs?: number;
}
/**
 * Pure retry loop around a dynamic importer. Exposed for unit testing
 * (avoids the need to drive React.lazy internals from tests).
 *
 * Retries only on `ChunkLoadError`-like failures (network/CDN issues that
 * may resolve on retry). Other errors (SyntaxError, TypeError, etc.) are
 * rethrown immediately because retrying won't help.
 */
export declare function loadWithRetry<T>(importer: () => Promise<T>, options?: LazyWithRetryOptions): Promise<T>;
export declare function lazyWithRetry<T extends ComponentType<unknown>>(importer: () => Promise<{
    default: T;
}>, options?: LazyWithRetryOptions): LazyExoticComponent<T>;
export {};
//# sourceMappingURL=lazyWithRetry.d.ts.map