import { MsgGrant as BaseMsgGrant } from '@routerprotocol/chain-api/cosmos/authz/v1beta1/tx_pb';
import { MsgBase } from '../../MsgBase';
export declare namespace MsgGrant {
    interface Params {
        messageType: string;
        grantee: string;
        granter: string;
        expiryInYears?: number;
        expiryInSeconds?: number;
    }
    interface DirectSign {
        type: '/cosmos.authz.v1beta1.MsgGrant';
        message: BaseMsgGrant;
    }
    interface Data extends BaseMsgGrant.AsObject {
        '@type': '/cosmos.authz.v1beta1.MsgGrant';
    }
    interface Amino extends BaseMsgGrant.AsObject {
        type: 'cosmos-sdk/MsgGrant';
    }
    interface Web3 extends BaseMsgGrant.AsObject {
        '@type': '/cosmos.authz.v1beta1.MsgGrant';
    }
    type Proto = BaseMsgGrant;
}
/**
 * @group Message
 */
export default class MsgGrant extends MsgBase<MsgGrant.Params, MsgGrant.Data, MsgGrant.Proto, MsgGrant.Amino, MsgGrant.DirectSign> {
    static fromJSON(params: MsgGrant.Params): MsgGrant;
    toProto(): MsgGrant.Proto;
    toData(): MsgGrant.Data;
    toAmino(): MsgGrant.Amino;
    toDirectSign(): MsgGrant.DirectSign;
    toWeb3(): MsgGrant.Web3;
    private getTimestamp;
}
