import { Web3Client } from '../../clients/Web3Client'; import { IAccount } from '../../models/TAccount'; import { TEth } from '../../models/TEth'; import { TAbiItem } from '../../types/TAbi'; import { ContractDeployment } from './ContractDeployment'; import { Constructor } from '../../utils/types'; import { ContractBase } from '../ContractBase'; type TDeploymentByName = { name: string; artifacts?: string; params?: any[]; }; type TDeploymentByContract = { contract: Constructor; artifacts?: string; params?: any[]; }; type TDeploymentByMetaFile = { path: string; name?: string; artifacts?: string; params?: any[]; }; type TDeploymentByMetaJson = { json: { contractName: string; abi: TAbiItem[]; bytecode: TEth.Hex; deployedBytecode: TEth.Hex; }; source?: { path: string; }; name?: string; artifacts?: string; params?: any[]; }; type TDeploymentWithBytecode = { bytecode: TEth.Hex; deployedBytecode?: TEth.Hex; name?: string; abi?: TAbiItem[]; params?: any[]; source?: { path: string; }; }; export declare class ContractDeployer { private client; private account; constructor(client: Web3Client, account: IAccount); prepareDeployment(byContractClass: TDeploymentByContract): Promise; prepareDeployment(byName: TDeploymentByName): Promise; prepareDeployment(byMetaFile: TDeploymentByMetaFile): Promise; prepareDeployment(byMetaJson: TDeploymentByMetaJson): Promise; prepareDeployment(byBytecode: TDeploymentWithBytecode): Promise; private fromName; private fromContract; private fromMetaFile; private fromMetaJson; private fromBytecode; } export {};