import { MsgExec as BaseMsgExec } from '@routerprotocol/chain-api/cosmos/authz/v1beta1/tx_pb';
import { MsgBase } from '../../MsgBase';
import { Msgs } from '../../msgs';
export declare namespace MsgExec {
    interface Params {
        grantee: string;
        msgs: Msgs | Msgs[];
    }
    interface DirectSign {
        type: '/cosmos.authz.v1beta1.MsgExec';
        message: BaseMsgExec;
    }
    interface Data extends BaseMsgExec.AsObject {
        '@type': '/cosmos.authz.v1beta1.MsgExec';
    }
    interface Amino extends BaseMsgExec.AsObject {
        type: 'cosmos-sdk/MsgExec';
    }
    interface Web3 extends BaseMsgExec.AsObject {
        '@type': '/cosmos.authz.v1beta1.MsgExec';
    }
    type Proto = BaseMsgExec;
}
/**
 * @group Message
 */
export default class MsgExec extends MsgBase<MsgExec.Params, MsgExec.Data, MsgExec.Proto, MsgExec.Amino, MsgExec.DirectSign> {
    static fromJSON(params: MsgExec.Params): MsgExec;
    toProto(): MsgExec.Proto;
    toData(): MsgExec.Data;
    toAmino(): MsgExec.Amino;
    toWeb3(): MsgExec.Web3;
    toDirectSign(): MsgExec.DirectSign;
}
