import { Registry, EncodeObject } from "@cosmjs/proto-signing";
import { MsgBeginRedelegate, MsgCreateValidator, MsgDelegate, MsgEditValidator, MsgUndelegate } from "cosmjs-types/cosmos/staking/v1beta1/tx";
import { FirmaWalletService } from "../../FirmaWalletService";
import { ITxClient } from "../common/ITxClient";
export interface MsgDelegateEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.staking.v1beta1.MsgDelegate";
    readonly value: Partial<MsgDelegate>;
}
export interface MsgUndelegateEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.staking.v1beta1.MsgUndelegate";
    readonly value: Partial<MsgUndelegate>;
}
export interface MsgRedelegateEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.staking.v1beta1.MsgBeginRedelegate";
    readonly value: Partial<MsgBeginRedelegate>;
}
export interface MsgEditValidatorEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.staking.v1beta1.MsgEditValidator";
    readonly value: Partial<MsgEditValidator>;
}
export interface MsgCreateValidatorEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.staking.v1beta1.MsgCreateValidator";
    readonly value: Partial<MsgCreateValidator>;
}
export declare class StakingTxClient extends ITxClient {
    constructor(wallet: FirmaWalletService, serverUrl: string);
    static getRegistry(): Registry;
    static msgDelegate(data: MsgDelegate): MsgDelegateEncodeObject;
    static msgUndelegate(data: MsgUndelegate): MsgUndelegateEncodeObject;
    static msgRedelegate(data: MsgBeginRedelegate): MsgRedelegateEncodeObject;
    static msgEditValidator(data: MsgEditValidator): MsgEditValidatorEncodeObject;
    static msgCreateValidator(data: MsgCreateValidator): MsgCreateValidatorEncodeObject;
}
