import { Wallet } from '@harmony-js/account';
import { Transaction } from '@harmony-js/transaction';
import { ContractOptions } from './utils/options';
import { AbiModel } from './models/types';
import { AbiCoderClass } from './abi/api';
import { ContractStatus } from './utils/status';
export declare class Contract {
    methods: any;
    events: any;
    abiModel: any | AbiModel;
    abiCoder: AbiCoderClass;
    options: ContractOptions | any;
    wallet: Wallet;
    transaction?: Transaction;
    status: ContractStatus;
    constructor(abi: any, address: string | undefined, options: ContractOptions | undefined, wallet: Wallet, status?: ContractStatus);
    isInitialised(): boolean;
    isSigned(): boolean;
    isSent(): boolean;
    isDeployed(): boolean;
    isRejected(): boolean;
    isCalled(): boolean;
    setStatus(status: ContractStatus): void;
    jsonInterface: any[];
    address: string;
    data: any;
    deploy(options: any): any;
    runMethodFactory(): Contract;
    runEventFactory(): Contract;
    connect(wallet: Wallet): void;
}
//# sourceMappingURL=contract.d.ts.map