import { ethers } from 'ethers'; /** * Returns Orca related contract instance * @param contractName * @param signer * @returns */ export declare function getMetropolisContract(contractName: string, signer: ethers.Signer): ethers.Contract; export declare function getGnosisSafeContract(safeAddress: string, signer: ethers.Signer): ethers.Contract; /** * Checks to see if an address is valid (checksum or not) * @param address * @returns */ export declare function checkAddress(address: string): string; /** * Handles ethers errors, as they have non-standard error formats. * @param error */ export declare const handleEthersError: (error: any) => never; /** * Given contracts that we support, returns the encoded function data * @param contractName Name of contract, i.e., "ERC20". You can also use "IERC20" when relevant * @param functionName Name of function as it appears on the ABI, i.e., 'transfer' * @param args Args of function in an array. * @returns */ export declare function encodeFunctionData(contractName: string, functionName: string, args: Array): string; /** * Signs a message using ethers wallet and a local private key. * @param contractTransactionHash - Generated safe's transaction hash in the format of 0x... * @param signer * @returns Signed message based on private key. */ export declare function signMessage(contractTransactionHash: string, signer: ethers.Signer): Promise; /** * Gets the previous module from a Gnosis safe * @param safe - Safe to scan through * @param module - Module you're looking for * @param newController - Optional, new controller you are trying to add. Checks to see if module is already on the safe. * @returns */ export declare function getPreviousModule(safe: any, module: any, newController?: string): Promise; /** * Returns ethers contract based on name * @param contractName * @param signer * @returns */ export declare function getContract(contractName: string, signer: any): ethers.Contract; /** * Determines if an array of pods are on the same controller version * @param pods - an array of pod controller versions * @returns - a boolean value stating if all pods are on the same version */ export declare function getIsSameVersion(podControllerValues: any): any; /** * Determines if an address is or isn't a member of an array of pods * @param pods - an array of pods * @param address - a valid address * @returns - a boolean value stating if a user is a member of all pods */ export declare function isPodMember(pods: any, address: any): Promise;