import { IConnection } from './Connection'; import { IMultisigAccount } from './Transaction'; export interface IWalletOverRelayCreation { nonce: number; owners: IMultisigAccount[]; connection: IConnection; paymentToken?: string; safeCreation2Response?: ISafeCreation2Response; threshold: number; smsSignature: { value: string; timestamp: string; }; } export interface ISafeCreation2Response { safe: string; setupData?: string; payment?: string; } /** * The onboarding-class of the wallet */ export declare class Onboarding { connection: IConnection; /** * initializes the class * @param connection The backend connection object. */ constructor(connection: IConnection); /** * Resends a verification code to the provided phone number. * @param phoneNumber The phone number of the user * @param walletProp The wallet preparation object * @returns The wallet preparation object with the updated smsSignature */ resendVerification(phoneNumber: string, walletProp: IWalletOverRelayCreation): Promise; /** * Initialization depends on if the relay is being used or not. If the relay is not being used a create2 * address for the wallet is calculated and returned along with the rest of the wallet preparation object. * Otherwise, the create2 address is calcualated, SMS verification is started, and the GasTokens are minted * to be used in relay deployment. * @param nonce The nonce to calculate the IAMO Safe address with * @param phoneNumber The phone number to use with SMS verification * @returns The wallet preparation object to be passed to `finishOnboarding` */ initOnboarding(nonce: number, phoneNumber?: string): Promise; /** * Finishing the onboarding process depends on whether the relay is being used. If the relay is not * being used, the wallet is deployed and the module is deployed, set up, and enabled over the chain. * Otherwise the provided code is verified against the bunker and if the code is validated, the wallet * is deployed and the module is deployed, set up, and enabled over the relay. * @param walletProps The wallet preparation object from `initOnboarding` * @param code The SMS verification code sent to the phoneNumber defined in `initOnboarding` * @returns The address of the newly deployed IAMO Safe instance */ finishOnboarding(walletProps: IWalletOverRelayCreation, code?: string): Promise; } export default Onboarding;