import { BaseError } from './base';
/**
 * Why the embedded wallet load failed. Currently only retry exhaustion is
 * reported; the union exists so new reasons can be added without a breaking
 * change to consumer `instanceof` handling.
 *
 * @example
 * ```ts
 * const reason: WaasLoadFailedErrorReason = 'load_attempts_exhausted';
 * ```
 * @see WaasLoadFailedError
 * @see signMessage
 */
export type WaasLoadFailedErrorReason = 'load_attempts_exhausted';
/**
 * Thrown when the embedded (WaaS) wallet's secure container failed to load
 * after exhausting all of its internal retry attempts.
 *
 * This failure is transient: the next wallet operation triggers a fresh load
 * cycle, so hosts can catch this error and re-attempt the operation at their
 * own cadence (for example, when connectivity returns or the app is
 * foregrounded). Other load failures (for example, a CSP block) are not
 * wrapped by this error and their shape is not guaranteed.
 *
 * @example
 * ```ts
 * try {
 *   await signMessage({ message, walletAccount });
 * } catch (error) {
 *   if (error instanceof WaasLoadFailedError) {
 *     // transient — retry the operation at your own cadence
 *     await signMessage({ message, walletAccount });
 *   }
 * }
 * ```
 * @see WaasLoadFailedErrorReason
 * @see signMessage
 */
export declare class WaasLoadFailedError extends BaseError {
    readonly reason: WaasLoadFailedErrorReason;
    constructor({ cause }: {
        cause: Error;
    });
}
//# sourceMappingURL=WaasLoadFailedError.d.ts.map