import { type TAbiItem } from 'dequanto/types/TAbi'; import { IBlockchainExplorer } from 'dequanto/explorer/IBlockchainExplorer'; import { Web3Client } from 'dequanto/clients/Web3Client'; import { TAddress } from 'dequanto/models/TAddress'; import { ContractBase } from './ContractBase'; import { Constructor } from 'dequanto/utils/types'; export interface IContractWrapped extends ContractBase { abi?: any; [method: string]: any; } export declare namespace ContractClassFactory { function get(client: Web3Client, explorer: IBlockchainExplorer, contractAddr: TAddress): Promise<{ ContractCtor: Constructor; contract: IContractWrapped; }>; function fromAbi(contractAddr: TAddress, abi: (TAbiItem | string)[], client: Web3Client, explorer?: IBlockchainExplorer, opts?: { contractName?: string; $meta?: ContractBase['$meta']; }): { ContractCtor: Constructor; contract: TReturn; }; }