/** * Type for error codes */ type ErrorCode = 'UNKNOWN' | 'USER_REJECTED_REQUEST' | 'UNSUPPORTED_METHOD' | 'DISCONNECTED' | 'INCORRECT_ARGUMENT' | 'LOGIN_FAILED' | 'TRANSACTION_FAILED' | 'BALANCE_FETCH_FAILED' | 'ACCOUNTS_FETCH_FAILED' | 'CHAIN_ID_FETCH_FAILED' | 'SWITCH_CHAIN_FAILED' | 'UNSUPPORTED_NETWORK_CHAIN_OPTION' | 'INVALID_API_KEY_OR_ENVIRONMENT' | 'EMBED_IFRAME_FAILED' | 'GET_IFRAME_WINDOW_FAILED' | 'SETUP_SECURE_WALLET_FAILED' | 'BOOTSTRAP_WALLET_TIMEOUT' | 'INIT_WALLET_FAILED' | 'DISCONNECT_WALLET_FAILED' | 'LOGOUT_FAILED' | 'DISCONNECT_WALLET_LOGOUT_FAILED' | 'INVALID_BTC_WALLET' | 'INSUFFICIENT_FUNDS' | 'TEARDOWN_FAILED'; /** * Custom Error class "MoonPayError" * This class is used to standardize the error handling process * and to identify all unknown errors in a systematic way. * @class * @extends {Error} */ declare class MoonPayError extends Error { /** * @property {ErrorCode} errorCode - The error code */ errorCode: ErrorCode; /** * Constructor for the MoonPayError class * @constructor * @param {string} [message] - The error message * @param {ErrorCode} [errorCode='UNKNOWN'] - The error code */ constructor(message?: string, errorCode?: ErrorCode); /** * Method to convert the error object to JSON format * @method * @returns {object} - JSON formatted error object */ toJson: () => { name: string; message: string; errorCode: ErrorCode; }; } export { MoonPayError }; export type { ErrorCode };