///
import { CompilerOutput } from "solc";
import { DeployerConfiguration } from './DeployerConfiguration';
import { Connector } from './Connector';
import { Controller, Controlled, Universe } from './ContractInterfaces';
import { NetworkConfiguration } from './NetworkConfiguration';
import { AccountManager } from './AccountManager';
export declare class ContractDeployer {
private readonly accountManager;
private readonly configuration;
private readonly connector;
private readonly contracts;
controller: Controller;
universe: Universe;
static deployToNetwork: (networkConfiguration: NetworkConfiguration, deployerConfiguration: DeployerConfiguration) => Promise;
constructor(configuration: DeployerConfiguration, connector: Connector, accountManager: AccountManager, compilerOutput: CompilerOutput);
getBlockNumber(): Promise;
deploy(): Promise;
getContract: (contractName: string) => Controlled;
private static getGitCommit();
private static getBytecodeSha(bytecode);
private static getEncodedConstructData(abi, bytecode, constructorArgs);
private uploadController();
uploadLegacyRep(): Promise;
private uploadAugur();
private uploadOrdersFinder();
private uploadAllContracts();
private upload(contract);
private shouldSkipUploadingContract(contract, isDelegated);
private getExistingContractAddress(contractName);
private uploadAndAddDelegatedToController(contract);
private uploadAndAddToController(contract, registrationContractName?, constructorArgs?);
private construct(contract, constructorArgs, failureDetails);
private whitelistTradingContracts();
private whitelistContract(contractAddress);
private initializeAllContracts();
private initializeContract(contractName);
initializeLegacyRep(): Promise;
private resetTimeControlled();
private createGenesisUniverse();
private migrateFromLegacyRep();
private generateAddressMapping();
private generateAddressMappingFile();
private generateUploadBlockNumberMapping(blockNumber);
private generateUploadBlockNumberFile(blockNumber);
}