import { EncodeObject, GeneratedType } from "@shareledgerjs/signing"; import { Coin } from "@shareledgerjs/types/cosmos/base/v1beta1/coin"; import { MsgFundCommunityPool, MsgSetWithdrawAddress, MsgWithdrawDelegatorReward, MsgWithdrawValidatorCommission } from "@shareledgerjs/types/cosmos/distribution/v1beta1/tx"; import { BaseClient } from "../../baseclient"; export declare function createDistributionTypes(): ReadonlyArray<[string, GeneratedType]>; export declare function createDistributionActions(): Record; export interface MsgSetWithdrawAddressEncodeObject extends EncodeObject { readonly typeUrl: "/cosmos.distribution.v1beta1.MsgSetWithdrawAddress"; readonly value: Partial; } export declare function isMsgSetWithdrawAddressEncodeObject(encodeObject: EncodeObject): encodeObject is MsgSetWithdrawAddressEncodeObject; export interface MsgWithdrawDelegatorRewardEncodeObject extends EncodeObject { readonly typeUrl: "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"; readonly value: Partial; } export declare function isMsgWithdrawDelegatorRewardEncodeObject(encodeObject: EncodeObject): encodeObject is MsgWithdrawDelegatorRewardEncodeObject; export interface MsgWithdrawValidatorCommissionEncodeObject extends EncodeObject { readonly typeUrl: "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission"; readonly value: Partial; } export declare function isMsgWithdrawValidatorCommissionEncodeObject(encodeObject: EncodeObject): encodeObject is MsgWithdrawValidatorCommissionEncodeObject; export interface MsgFundCommunityPoolEncodeObject extends EncodeObject { readonly typeUrl: "/cosmos.distribution.v1beta1.MsgFundCommunityPool"; readonly value: Partial; } export declare function isMsgFundCommunityPoolEncodeObject(encodeObject: EncodeObject): encodeObject is MsgFundCommunityPoolEncodeObject; export interface DistributionTxExtensionMethods { setWithdrawAddress(delegatorAddress: string, withdrawAdress: string): MsgSetWithdrawAddressEncodeObject; withdrawRewards(delegatorAddress: string, validatorAddress: string): MsgWithdrawDelegatorRewardEncodeObject; withdrawCommissions(validatorAddress: string): MsgWithdrawValidatorCommissionEncodeObject; fundCommunityPool(depositor: string, amount: Coin[]): MsgFundCommunityPoolEncodeObject; } export interface DistributionTxExtension { readonly distribution: DistributionTxExtensionMethods; } export declare function DistributionTxExtension(constructor: T): T;