import { Provider } from "@ethersproject/providers"; import { Wallet } from "@ethersproject/wallet"; import { BigNumberish, providers } from "ethers"; import { LaserFactory as _LaserFactory } from "../typechain"; import { Address } from "../types"; import { ILaserFactory } from "./interfaces/ILaserFactory"; /** * @title LaserFactory * * @dev Factory that deploys proxies that delegate all calls to the main implementation. * https://github.com/laser-wallet/laser-wallet-contracts/tree/master/contracts */ export declare class LaserFactory implements ILaserFactory { readonly provider: Provider; readonly signer: Wallet; factory: _LaserFactory; chainId: Number; initialized: boolean; constructor(_provider: Provider, _signer: Wallet); /** * @dev Inits Laser factory with proper state. */ init(): Promise; /** * @returns The address of the factory. */ getAddress(): Promise
; /** * @dev Returns the base contract, where all the delegatecalls are forwarded. */ getSingleton(): Promise
; /** * @dev Allows to retrieve the runtime code of a deployed Proxy. This can be used to check that the expected Proxy was deployed. */ proxyRuntimeCode(): Promise; /** * @dev Allows to retrieve the creation code used for the Proxy deployment. With this it is easily possible to calculate predicted address. */ proxyCreationCode(): Promise; /** * @dev Creates a new Laser wallet. * It checks that the parameters are correct. */ createWallet(owner: Address, recoveryOwners: Address[], guardians: Address[], saltNumber: BigNumberish, sender: Wallet): Promise; /** * @dev Precomputes the address of a proxy that is created through 'create2'. */ preComputeAddress(owner: Address, recoveryOwners: Address[], guardians: Address[], saltNumber: BigNumberish): Promise
; }