import { Provider } from './provider'; import { Abi, Signature, StructAbi } from './types'; import { BigNumberish } from './utils/number'; export declare type Args = { [inputName: string]: string | string[] | { type: 'struct'; [k: string]: BigNumberish; }; }; export declare type Calldata = string[]; export declare function compileCalldata(args: Args): Calldata; export declare class Contract { connectedTo: string; abi: Abi[]; structs: { [name: string]: StructAbi; }; provider: Provider; /** * Contract class to handle contract methods * * @param abi - Abi of the contract object * @param address (optional) - address to connect to */ constructor(abi: Abi[], address: string, provider?: Provider); connect(address: string): Contract; private validateMethodAndArgs; private parseResponseField; private parseResponse; invoke(method: string, args?: Args, signature?: Signature): Promise; call(method: string, args?: Args): Promise; }