import { Wallet } from '@harmony-js/account';
import { Transaction } from '@harmony-js/transaction';
import { Emitter } from '@harmony-js/network';
import { AbiItemModel } from '../models/types';
import { Contract } from '../contract';
export declare class ContractMethod {
    contract: Contract;
    params: any;
    methodKey: string;
    wallet: Wallet;
    abiItem: AbiItemModel;
    protected transaction: Transaction;
    constructor(methodKey: string, params: any, abiItem: AbiItemModel, contract: Contract);
    send(params: any): Emitter;
    call(options: any, blockNumber?: any): Promise<any>;
    estimateGas(): Promise<any>;
    encodeABI(): string;
    protected signTransaction(updateNonce: boolean): Promise<Transaction>;
    protected sendTransaction(signed: Transaction): Promise<[Transaction, string]>;
    protected confirm(id: string): Promise<void>;
    protected createTransaction(): Transaction;
    protected afterCall(response: any): any;
}
//# sourceMappingURL=method.d.ts.map