import type { MergeConflicts } from '../modules/auth/mergeUserAccounts/mergeUserAccounts.types';
import { BaseError, type BaseErrorParameters } from './base';
export type MergeAccountsConfirmationErrorParameters = Pick<BaseErrorParameters, 'cause'> & {
    /**
     * The field-level conflicts between the current user and the user that owns
     * the credential being linked, when the two accounts hold different values
     * for the same profile field. `undefined` when the merge has no conflicts
     * to resolve.
     */
    mergeConflicts?: MergeConflicts;
    /**
     * The address of the wallet whose verification triggered the merge, when
     * the merge was triggered by a wallet link.
     */
    walletAddress?: string;
};
/**
 * Thrown during credential verification when the credential already belongs to
 * a different existing user, and the backend is offering to merge the two users
 * into one.
 *
 * Unlike {@link WalletAlreadyLinkedToAnotherUserError} (a hard rejection), this
 * is a recoverable prompt: the caller can complete the merge with
 * `mergeUserAccounts`. When the two accounts hold different values for the same
 * profile field, those differences are surfaced on {@link mergeConflicts} so
 * the caller can ask the user which value to keep and pass the resolutions to
 * `mergeUserAccounts`.
 *
 * @example
 * ```ts
 * try {
 *   await verifyWalletAccount({ walletAccount });
 * } catch (error) {
 *   if (error instanceof MergeAccountsConfirmationError) {
 *     // No conflicts: complete the merge directly.
 *     // With conflicts: let the user resolve error.mergeConflicts first.
 *     await mergeUserAccounts();
 *   }
 * }
 * ```
 * @see MergeConflicts
 * @see WalletAlreadyLinkedToAnotherUserError
 */
export declare class MergeAccountsConfirmationError extends BaseError {
    mergeConflicts: MergeConflicts | undefined;
    walletAddress: string | undefined;
    constructor({ cause, mergeConflicts, walletAddress, }: MergeAccountsConfirmationErrorParameters);
}
//# sourceMappingURL=MergeAccountsConfirmationError.d.ts.map