import Web3 from 'web3'; import { provider as Provider } from 'web3-core'; import { Contract, ContractSendMethod } from 'web3-eth-contract'; import { TxResult, Address, CallOptions, SendOptions } from '../types'; export interface Json { abi: any; networks: { [network: number]: any; }; } interface ContractInfo { contract: Contract; json: Json; isTest: boolean; } export declare class Contracts { private defaultOptions; web3: Web3; networkId: number; contractsList: ContractInfo[]; factRegistry: Contract; starkwarePerpetual: Contract; collateralToken: Contract; mintableToken: Contract; proxyDepositContract: Contract; constructor(provider: Provider, networkId: number, web3: Web3, sendOptions?: SendOptions); setProvider(provider: Provider, networkId: number): void; setDefaultAccount(account: Address): void; call(method: ContractSendMethod, specificOptions?: CallOptions): Promise; send(contract: Contract, method: ContractSendMethod, specificOptions?: SendOptions): Promise; protected addContract(json: Json, isTest?: boolean): Contract; private setContractProvider; private _send; private estimateGas; private toEstimateOptions; private toCallOptions; private toNativeSendOptions; } export {};