import { MsgExecuteContract as BaseMsgExecuteContract } from '@routerprotocol/chain-api/cosmwasm/wasm/v1/tx_pb';
import { MsgBase } from '../../MsgBase';
export declare namespace MsgExecuteContract {
    interface Params {
        funds?: {
            denom: string;
            amount: string;
        }[];
        action: string;
        sender: string;
        contractAddress: string;
        msg: Object;
    }
    interface DirectSign {
        type: '/cosmwasm.wasm.v1.MsgExecuteContract';
        message: BaseMsgExecuteContract;
    }
    interface Data extends BaseMsgExecuteContract.AsObject {
        '@type': '/cosmwasm.wasm.v1.MsgExecuteContract';
    }
    interface Amino extends BaseMsgExecuteContract.AsObject {
        type: 'wasm/MsgExecuteContract';
    }
    interface Web3 extends BaseMsgExecuteContract.AsObject {
        '@type': '/cosmwasm.wasm.v1.MsgExecuteContract';
    }
    type Proto = BaseMsgExecuteContract;
}
/**
 * @group Message
 */
export default class MsgExecuteContract extends MsgBase<MsgExecuteContract.Params, MsgExecuteContract.Data, MsgExecuteContract.Proto, MsgExecuteContract.Amino, MsgExecuteContract.DirectSign> {
    static fromJSON(params: MsgExecuteContract.Params): MsgExecuteContract;
    toProto(): MsgExecuteContract.Proto;
    toData(): MsgExecuteContract.Data;
    toAmino(): MsgExecuteContract.Amino;
    toWeb3(): MsgExecuteContract.Web3;
    toDirectSign(): MsgExecuteContract.DirectSign;
}
