import { Registry, EncodeObject } from "@cosmjs/proto-signing";
import { MsgFundCommunityPool, MsgSetWithdrawAddress, MsgWithdrawDelegatorReward, MsgWithdrawValidatorCommission } from "cosmjs-types/cosmos/distribution/v1beta1/tx";
import { FirmaWalletService } from "../../FirmaWalletService";
import { ITxClient } from "../common/ITxClient";
export interface MsgFundCommunityPoolEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.distribution.v1beta1.MsgFundCommunityPool";
    readonly value: Partial<MsgFundCommunityPool>;
}
export interface MsgSetWithdrawAddressEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.distribution.v1beta1.MsgSetWithdrawAddress";
    readonly value: Partial<MsgSetWithdrawAddress>;
}
export interface MsgWithdrawDelegatorRewardEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward";
    readonly value: Partial<MsgWithdrawDelegatorReward>;
}
export interface MsgWithdrawValidatorCommissionEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission";
    readonly value: Partial<MsgWithdrawValidatorCommission>;
}
export declare class DistributionTxClient extends ITxClient {
    constructor(wallet: FirmaWalletService, serverUrl: string);
    static getRegistry(): Registry;
    static msgFundCommunityPool(data: MsgFundCommunityPool): MsgFundCommunityPoolEncodeObject;
    static msgSetWithdrawAddress(data: MsgSetWithdrawAddress): MsgSetWithdrawAddressEncodeObject;
    static msgWithdrawDelegatorReward(data: MsgWithdrawDelegatorReward): MsgWithdrawDelegatorRewardEncodeObject;
    static msgWithdrawValidatorCommission(data: MsgWithdrawValidatorCommission): MsgWithdrawValidatorCommissionEncodeObject;
}
