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