import { MsgBeginRedelegate as BaseMsgBeginRedelegate } from '@routerprotocol/chain-api/cosmos/staking/v1beta1/tx_pb';
import { MsgBase } from '../../MsgBase';
export declare namespace MsgBeginRedelegate {
    interface Params {
        amount: {
            denom: string;
            amount: string;
        };
        srcValidatorAddress: string;
        dstValidatorAddress: string;
        routerAddress: string;
    }
    interface DirectSign {
        type: '/cosmos.staking.v1beta1.MsgBeginRedelegate';
        message: BaseMsgBeginRedelegate;
    }
    interface Data extends BaseMsgBeginRedelegate.AsObject {
        '@type': '/cosmos.staking.v1beta1.MsgBeginRedelegate';
    }
    interface Amino extends BaseMsgBeginRedelegate.AsObject {
        type: 'cosmos-sdk/MsgBeginRedelegate';
    }
    interface Web3 extends BaseMsgBeginRedelegate.AsObject {
        '@type': '/cosmos.authz.v1beta1.MsgBeginRedelegate';
    }
    type Proto = BaseMsgBeginRedelegate;
}
/**
 * @group Message
 */
export default class MsgBeginRedelegate extends MsgBase<MsgBeginRedelegate.Params, MsgBeginRedelegate.Data, MsgBeginRedelegate.Proto, MsgBeginRedelegate.Amino, MsgBeginRedelegate.DirectSign> {
    static fromJSON(params: MsgBeginRedelegate.Params): MsgBeginRedelegate;
    toProto(): MsgBeginRedelegate.Proto;
    toData(): MsgBeginRedelegate.Data;
    toAmino(): MsgBeginRedelegate.Amino;
    toWeb3(): MsgBeginRedelegate.Web3;
    toDirectSign(): MsgBeginRedelegate.DirectSign;
}
