import { AUTH_CONNECTION_TYPE, CUSTOM_AUTH_CONNECTION_TYPE } from "@web3auth/auth"; export declare const HALLIDAY_ONRAMP_DOMAIN = "https://app.halliday.xyz"; export declare const SIGNATURE_REQUEST_TIMEOUT = 30000; export declare enum ActionType { EVENT_ONRAMP_STATUS = "EVENT_ONRAMP_STATUS", EVENT_WINDOW_CLOSE = "EVENT_WINDOW_CLOSE", MESSAGE_CERTIFICATE_SIGNATURE = "MESSAGE_CERTIFICATE_SIGNATURE", MESSAGE_START_SIGNATURE_TIMER = "MESSAGE_START_SIGNATURE_TIMER" } /** * Enum for window type. * @readonly * @enum {string} */ export declare enum OnrampWindowType { /** @member {string} */ /** Open the onramp process in an iframe within the current window. */ EMBED = "EMBED", /** @member {string} */ /** Open the onramp process in a popup window. */ POPUP = "POPUP" } /** * Compute the Halliday onramp url * * @param {string} apiKey Your Halliday API key, e.g. 2743c3a8-5ad7-4215-a3ea-bf84b710a849 * @param {string} verifierClientId Your verifier client ID, provided to you by the Halliday team * @param {string} destinationCryptoType The type of crypto to onramp, e.g. ETH, BTC * @param {string} destinationBlockchainType The blockchain to onramp to, e.g. ethereum, bitcoin * @param {string} inGamePlayerId Optional - if not provided, the user's non-custodial wallet address will be used. Required if using no-login flow * @param {boolean} useSandbox Optional - if not provided, defaults to false * @param {string} loggedInEmail The email the user should log in with * @param {AUTH_CONNECTION_TYPE | CUSTOM_AUTH_CONNECTION_TYPE} typeOfLogin The type of login to use, e.g. google, twitter, jwt * @param {string} destinationAddress The user's smart account address, where the onramped crypto should be sent. If using no login * and passing in the sessionKeySignerCallback, this must be the address that the session key will be signed by. * @param {Function} sessionKeySignerCallback Optional, Required for no login, a callback function that signs with the user's signer * @param {boolean} onrampToEOA Optional, feature flag for onramping to an EOA */ export declare function getHallidayOnrampUrl({ apiKey, verifierClientId, destinationCryptoType, destinationBlockchainType, inGamePlayerId, useSandbox, loggedInEmail, typeOfLogin, destinationAddress, sessionKeySignerCallback, onrampToEOA, }: { apiKey: string; verifierClientId: string; destinationCryptoType: string; destinationBlockchainType: string; inGamePlayerId?: string; useSandbox?: boolean; loggedInEmail?: string; typeOfLogin?: AUTH_CONNECTION_TYPE | CUSTOM_AUTH_CONNECTION_TYPE; destinationAddress?: string; sessionKeySignerCallback?: (sessionKeyBytesHex: Uint8Array) => Promise; onrampToEOA?: boolean; }): string; /** * Generate session signatures for the onramp flow * * @param {Object} data The message content from the onramp flow * @param {string} data.verificationCode The verification code generated bu the onramp flow * @param {Uint8Array} data.certificate The certificate to sign * @param {string} destinationAddress The user's smart account address, where the onramped crypto should be sent. If using no login * and passing in the sessionKeySignerCallback, this must be the address that the session key will be signed by. * @param {Function} sessionKeySignerCallback The callback function that signs with the user's signer */ export declare function getSessionSignatures(data: { verificationCode: string; certificate: Uint8Array; }, destinationAddress: string, sessionKeySignerCallback: (sessionKeyBytesHex: Uint8Array) => Promise): Promise<{ verificationCode: string; certificateSignature: string; }>; export declare function _openOnramp({ apiKey, verifierClientId, destinationCryptoType, destinationBlockchainType, inGamePlayerId, useSandbox, loggedInEmail, typeOfLogin, destinationAddress, sessionKeySignerCallback, onrampToEOA, windowType, targetElementId, }: { apiKey: string; verifierClientId?: string; destinationCryptoType: string; destinationBlockchainType: string; inGamePlayerId?: string; useSandbox?: boolean; loggedInEmail?: string; typeOfLogin?: AUTH_CONNECTION_TYPE | CUSTOM_AUTH_CONNECTION_TYPE; destinationAddress?: string; sessionKeySignerCallback?: (sessionKeyBytesHex: Uint8Array) => Promise; onrampToEOA?: boolean; windowType?: OnrampWindowType; targetElementId?: string; }): Window;