import { Web3PluginBase } from 'web3-core'; import Contract from 'web3-eth-contract'; import { Address, ContractAbi, DataFormat, Numbers } from 'web3-types'; import { ERC20TokenAbi } from './ERC20Token'; import { Web3Context } from './reexported_web3_context'; export declare class ContractMethodWrappersPlugin extends Web3PluginBase { pluginNamespace: string; readonly _contract: Contract; constructor(abi: ContractAbi, address: Address); /** * This method overrides the inherited `link` method from `Web3PluginBase` * to add to a configured `RequestManager` to our Contract instance * when `Web3.registerPlugin` is called. * * @param parentContext - The context to be added to the instance of `ChainlinkPlugin`, * and by extension, the instance of `Contract`. */ link(parentContext: Web3Context): void; getFormattedBalance(address: Address, returnFormat: ReturnFormat): Promise; transferAndGetBalances(sender: Address, recipient: Address, amount: Numbers, returnFormat?: ReturnFormat): Promise<{ sender: { address: string; balance: import("web3-types").NumberTypes[({ readonly number: import("web3-types").FMT_NUMBER.BIGINT; readonly bytes: import("web3-types").FMT_BYTES.HEX; } | NonNullable)["number"]]; }; recipient: { address: string; balance: import("web3-types").NumberTypes[({ readonly number: import("web3-types").FMT_NUMBER.BIGINT; readonly bytes: import("web3-types").FMT_BYTES.HEX; } | NonNullable)["number"]]; }; }>; } declare module './reexported_web3_context' { interface Web3Context { contractMethodWrappersPlugin: ContractMethodWrappersPlugin; } } export { Web3Context }; //# sourceMappingURL=contract_method_wrappers.d.ts.map