/**
 * PrivacyBoost SDK Error Codes
 *
 * These codes match the SCREAMING_SNAKE_CASE codes produced by the WASM layer.
 * Use them for switch/case matching in your error handlers.
 */
export declare const ErrorCodes: {
    readonly WALLET_NOT_CONNECTED: "WALLET_NOT_CONNECTED";
    readonly WALLET_CONNECTION_FAILED: "WALLET_CONNECTION_FAILED";
    readonly WRONG_NETWORK: "WRONG_NETWORK";
    readonly TRANSACTION_REJECTED: "TRANSACTION_REJECTED";
    readonly TRANSACTION_FAILED: "TRANSACTION_FAILED";
    readonly TRANSACTION_REVERTED: "TRANSACTION_REVERTED";
    readonly INSUFFICIENT_GAS: "INSUFFICIENT_GAS";
    readonly NOT_AUTHENTICATED: "NOT_AUTHENTICATED";
    readonly AUTHENTICATION_FAILED: "AUTHENTICATION_FAILED";
    readonly SESSION_EXPIRED: "SESSION_EXPIRED";
    readonly INVALID_TOKEN: "INVALID_TOKEN";
    readonly MISSING_KEYS: "MISSING_KEYS";
    readonly UNAUTHORIZED: "UNAUTHORIZED";
    readonly FORBIDDEN: "FORBIDDEN";
    readonly PERMISSION_DENIED: "PERMISSION_DENIED";
    /** User-supplied PIN/password did not decrypt the vault. UI should prompt for retry. */
    readonly INVALID_CREDENTIAL: "INVALID_CREDENTIAL";
    /** Internal key management error not covered by a more specific code. */
    readonly KEY_MANAGEMENT_ERROR: "KEY_MANAGEMENT_ERROR";
    readonly AUTH_NONCE_EXPIRED: "AUTH_NONCE_EXPIRED";
    readonly AUTH_INVALID_SIGNATURE: "AUTH_INVALID_SIGNATURE";
    readonly AUTH_MPK_MISMATCH: "AUTH_MPK_MISMATCH";
    readonly AUTH_ETH_SIGNATURE_INVALID: "AUTH_ETH_SIGNATURE_INVALID";
    readonly AUTH_ETH_SIGNATURE_MISMATCH: "AUTH_ETH_SIGNATURE_MISMATCH";
    readonly AUTH_USER_NOT_REGISTERED: "AUTH_USER_NOT_REGISTERED";
    readonly AUTH_MPK_ALREADY_REGISTERED: "AUTH_MPK_ALREADY_REGISTERED";
    readonly INVALID_ADDRESS: "INVALID_ADDRESS";
    readonly INVALID_AMOUNT: "INVALID_AMOUNT";
    readonly INSUFFICIENT_BALANCE: "INSUFFICIENT_BALANCE";
    readonly INVALID_PARAMETER: "INVALID_PARAMETER";
    readonly MISSING_PARAMETER: "MISSING_PARAMETER";
    readonly INVALID_CONFIG: "INVALID_CONFIG";
    readonly VALIDATION_FAILED: "VALIDATION_FAILED";
    readonly INVALID_INPUT: "INVALID_INPUT";
    readonly CHAIN_ERROR: "CHAIN_ERROR";
    readonly NETWORK_ERROR: "NETWORK_ERROR";
    readonly TIMEOUT: "TIMEOUT";
    readonly RATE_LIMITED: "RATE_LIMITED";
    readonly SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE";
    readonly HTTP_ERROR: "HTTP_ERROR";
    readonly CRYPTO_ERROR: "CRYPTO_ERROR";
    readonly ENCRYPTION_ERROR: "ENCRYPTION_ERROR";
    readonly DECRYPTION_ERROR: "DECRYPTION_ERROR";
    readonly KEY_DERIVATION_ERROR: "KEY_DERIVATION_ERROR";
    readonly COMPLIANCE_BLOCKED: "COMPLIANCE_BLOCKED";
    readonly SHIELD_NOT_FOUND: "SHIELD_NOT_FOUND";
    readonly SHIELD_ALREADY_CLAIMED: "SHIELD_ALREADY_CLAIMED";
    readonly SHIELD_PROOF_EXPIRED: "SHIELD_PROOF_EXPIRED";
    readonly SHIELD_PROOF_FUTURE: "SHIELD_PROOF_FUTURE";
    readonly SHIELD_PROOF_MISMATCH: "SHIELD_PROOF_MISMATCH";
    readonly SHIELD_PUBKEY_MISMATCH: "SHIELD_PUBKEY_MISMATCH";
    readonly SHIELD_COMMITMENT_NOT_FOUND: "SHIELD_COMMITMENT_NOT_FOUND";
    readonly TRANSFER_NOT_FOUND: "TRANSFER_NOT_FOUND";
    readonly TRANSFER_COMPLIANCE_FAILED: "TRANSFER_COMPLIANCE_FAILED";
    readonly TRANSFER_PROOF_FAILED: "TRANSFER_PROOF_FAILED";
    readonly TRANSFER_SUBMISSION_FAILED: "TRANSFER_SUBMISSION_FAILED";
    readonly TRANSFER_METHOD_NOT_SUPPORTED: "TRANSFER_METHOD_NOT_SUPPORTED";
    readonly NOTE_NOT_FOUND: "NOTE_NOT_FOUND";
    readonly NOTE_ACCESS_DENIED: "NOTE_ACCESS_DENIED";
    readonly NOTE_ALREADY_SPENT: "NOTE_ALREADY_SPENT";
    readonly MERKLE_LEAF_NOT_FOUND: "MERKLE_LEAF_NOT_FOUND";
    readonly MERKLE_PROOF_FAILED: "MERKLE_PROOF_FAILED";
    readonly MERKLE_ROOT_STALE: "MERKLE_ROOT_STALE";
    readonly INVALID_FIELD_ELEMENT: "INVALID_FIELD_ELEMENT";
    readonly VALUE_OUT_OF_RANGE: "VALUE_OUT_OF_RANGE";
    readonly TOKEN_ID_INVALID: "TOKEN_ID_INVALID";
    readonly ZERO_FIELD: "ZERO_FIELD";
    readonly NO_INPUTS: "NO_INPUTS";
    readonly NO_OUTPUTS: "NO_OUTPUTS";
    readonly TOO_MANY_INPUTS: "TOO_MANY_INPUTS";
    readonly TOO_MANY_OUTPUTS: "TOO_MANY_OUTPUTS";
    readonly INVALID_UNSHIELD_TO: "INVALID_UNSHIELD_TO";
    readonly ZERO_UNSHIELD_AMOUNT: "ZERO_UNSHIELD_AMOUNT";
    readonly MISSING_SIGNED_ROOT: "MISSING_SIGNED_ROOT";
    readonly ZERO_COMMITMENT: "ZERO_COMMITMENT";
    readonly DUPLICATE_NULLIFIER: "DUPLICATE_NULLIFIER";
    readonly TOKEN_ID_MISMATCH: "TOKEN_ID_MISMATCH";
    readonly INPUT_SUM_OVERFLOW: "INPUT_SUM_OVERFLOW";
    readonly OUTPUT_SUM_OVERFLOW: "OUTPUT_SUM_OVERFLOW";
    readonly BALANCE_MISMATCH: "BALANCE_MISMATCH";
    readonly LEAF_NOT_FOUND: "LEAF_NOT_FOUND";
    readonly INVALID_COMMITMENT: "INVALID_COMMITMENT";
    readonly NULLIFIER_ALREADY_SPENT: "NULLIFIER_ALREADY_SPENT";
    readonly AUTH_KEY_NOT_REGISTERED: "AUTH_KEY_NOT_REGISTERED";
    readonly INVALID_SIGNATURE: "INVALID_SIGNATURE";
    readonly INVALID_CIPHERTEXT: "INVALID_CIPHERTEXT";
    readonly MISSING_CIPHERTEXT: "MISSING_CIPHERTEXT";
    readonly NULLIFIER_ALREADY_USED: "NULLIFIER_ALREADY_USED";
    readonly INVALID_MAX_INPUTS: "INVALID_MAX_INPUTS";
    readonly NO_FEE_NOTES: "NO_FEE_NOTES";
    readonly BELOW_MIN_TRANSFER_AMOUNT: "BELOW_MIN_TRANSFER_AMOUNT";
    readonly SERIALIZATION_ERROR: "SERIALIZATION_ERROR";
    readonly OPERATION_FAILED: "OPERATION_FAILED";
    readonly INTERNAL_ERROR: "INTERNAL_ERROR";
    readonly SDK_INITIALIZATION_FAILED: "SDK_INITIALIZATION_FAILED";
    readonly SDK_NOT_INITIALIZED: "SDK_NOT_INITIALIZED";
};
export type ErrorCode = (typeof ErrorCodes)[keyof typeof ErrorCodes];
/**
 * Structured error thrown by the PrivacyBoost SDK.
 *
 * Wraps WASM errors with a machine-readable `code` property and
 * helper methods for classification.
 *
 * @example
 * ```ts
 * try {
 *   await sdk.vault.shield('0x...', 1000n);
 * } catch (err) {
 *   if (err instanceof PrivacyBoostError) {
 *     if (err.retryable) {
 *       // retry after backoff
 *     }
 *     switch (err.code) {
 *       case ErrorCodes.INSUFFICIENT_BALANCE:
 *         showToast('Not enough funds');
 *         break;
 *       case ErrorCodes.TRANSACTION_REJECTED:
 *         showToast('Transaction was rejected');
 *         break;
 *     }
 *   }
 * }
 * ```
 */
export declare class PrivacyBoostError extends Error {
    /** Machine-readable error code (e.g. `"WALLET_NOT_CONNECTED"`).
     *  May be an `ErrorCode` value or an unknown code from the WASM layer. */
    readonly code: ErrorCode | (string & {});
    /** Whether this error is retryable */
    readonly retryable: boolean;
    constructor(code: string, message: string, options?: {
        cause?: unknown;
        retryable?: boolean;
    });
    /** Check if this is an authentication/authorization error */
    isAuthError(): boolean;
    /** Check if this is a wallet-related error */
    isWalletError(): boolean;
    /** Check if this is a compliance/screening error */
    isComplianceError(): boolean;
    /** Check if the error matches a specific code */
    hasCode(code: ErrorCode): boolean;
    /**
     * Wrap an error thrown by the WASM layer into a PrivacyBoostError.
     * If the error is already a PrivacyBoostError, return it as-is.
     */
    static from(error: unknown): PrivacyBoostError;
}
//# sourceMappingURL=errors.d.ts.map