import { AccountStore, ContractLoader, DfsInterface, EventHub, Executor, KeyProvider } from '@evan.network/dbcp';
import { BaseContract } from '../contracts/base-contract/base-contract';
import { Verifications } from '../verifications/verifications';
import { CryptoProvider } from '../encryption/crypto-provider';
import { DataContract } from '../contracts/data-contract/data-contract';
import { EncryptionWrapper } from '../encryption/encryption-wrapper';
import { ExecutorWallet } from '../contracts/executor-wallet';
import { Ipld } from '../dfs/ipld';
import { Ipfs } from '../dfs/ipfs';
import { NameResolver } from '../name-resolver';
import { Payments } from '../payments';
import { Profile } from '../profile/profile';
import { RightsAndRoles } from '../contracts/rights-and-roles';
import { ServiceContract } from '../contracts/service-contract/service-contract';
import { Description } from '../shared-description';
import { Sharing } from '../contracts/sharing';
import { Votings } from '../votings/votings';
import { Wallet } from '../contracts/wallet';
export declare const publicMailBoxExchange = "mailboxKeyExchange";
export declare const sampleContext = "context sample";
export declare class TestUtils {
    static getAccountStore(options: any): AccountStore;
    static getBaseContract(web3: any): Promise<BaseContract>;
    static getVerifications(web3: any, dfs: any, requestedKeys?: string[]): Promise<Verifications>;
    static getConfig(): any;
    static getContractLoader(web3: any): Promise<ContractLoader>;
    static getContracts(): Promise<any>;
    static getCryptoProvider(dfs?: any): CryptoProvider;
    static getDataContract(web3: any, dfs: any, requestedKeys?: string[]): Promise<DataContract>;
    static getDescription(web3: any, dfsParam?: DfsInterface, requestedKeys?: string[]): Promise<Description>;
    static getEncryptionWrapper(web3: any, dfs: DfsInterface, requestedKeys?: string[]): Promise<EncryptionWrapper>;
    static getEventHub(web3: any): Promise<EventHub>;
    static getExecutor(web3: any, isReadonly?: any): Promise<Executor>;
    static getExecutorWallet(web3: any, wallet: any, accountId: any, dfsParam?: DfsInterface): Promise<ExecutorWallet>;
    static getIpld(_ipfs?: Ipfs, _keyProvider?: KeyProvider): Promise<Ipld>;
    static getIpfs(): Promise<Ipfs>;
    static getKeyProvider(requestedKeys?: string[]): KeyProvider;
    static getKeys(): any;
    static getLogger(): Function;
    static getNameResolver(web3: any): Promise<NameResolver>;
    static getPayments(web3: any, accountId: any): Promise<Payments>;
    static getProfile(web3: any, ipfs?: any, ipld?: any, accountId?: any): Promise<Profile>;
    static getRandomAddress(): string;
    static getRandomBytes32(): string;
    static getRightsAndRoles(web3: any): Promise<RightsAndRoles>;
    static getServiceContract(web3: any, ipfs?: Ipfs, keyProvider?: KeyProvider): Promise<ServiceContract>;
    static getSharing(web3: any, dfsParam?: DfsInterface, requestedKeys?: string[]): Promise<Sharing>;
    static getVotings(web3: any): Promise<Votings>;
    static getWallet(web3: any, dfsParam?: DfsInterface): Promise<Wallet>;
    static getWeb3(provider?: any): any;
    static nextBlock(executor: Executor, accoutId: string): Promise<void>;
    static sleep(ms: any): Promise<void>;
}
