import { DecCoin, DecCoinAmino, Coin, CoinAmino } from "../../base/v1beta1/coin";
import { BinaryReader, BinaryWriter } from "../../../binary";
import { DeepPartial } from "../../../helpers";
/**
 * Params defines the set of params for the distribution module.
 * @name Params
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.Params
 */
export interface Params {
    communityTax: string;
    /**
     * Deprecated: The base_proposer_reward field is deprecated and is no longer used
     * in the x/distribution module's reward mechanism.
     * @deprecated
     */
    baseProposerReward: string;
    /**
     * Deprecated: The bonus_proposer_reward field is deprecated and is no longer used
     * in the x/distribution module's reward mechanism.
     * @deprecated
     */
    bonusProposerReward: string;
    withdrawAddrEnabled: boolean;
}
export interface ParamsProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.Params";
    value: Uint8Array;
}
/**
 * Params defines the set of params for the distribution module.
 * @name ParamsAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.Params
 */
export interface ParamsAmino {
    community_tax: string;
    /**
     * Deprecated: The base_proposer_reward field is deprecated and is no longer used
     * in the x/distribution module's reward mechanism.
     * @deprecated
     */
    base_proposer_reward: string;
    /**
     * Deprecated: The bonus_proposer_reward field is deprecated and is no longer used
     * in the x/distribution module's reward mechanism.
     * @deprecated
     */
    bonus_proposer_reward: string;
    withdraw_addr_enabled: boolean;
}
export interface ParamsAminoMsg {
    type: "cosmos-sdk/x/distribution/Params";
    value: ParamsAmino;
}
/**
 * ValidatorHistoricalRewards represents historical rewards for a validator.
 * Height is implicit within the store key.
 * Cumulative reward ratio is the sum from the zeroeth period
 * until this period of rewards / tokens, per the spec.
 * The reference count indicates the number of objects
 * which might need to reference this historical entry at any point.
 * ReferenceCount =
 *    number of outstanding delegations which ended the associated period (and
 *    might need to read that record)
 *  + number of slashes which ended the associated period (and might need to
 *  read that record)
 *  + one per validator for the zeroeth period, set on initialization
 * @name ValidatorHistoricalRewards
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorHistoricalRewards
 */
export interface ValidatorHistoricalRewards {
    cumulativeRewardRatio: DecCoin[];
    referenceCount: number;
}
export interface ValidatorHistoricalRewardsProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.ValidatorHistoricalRewards";
    value: Uint8Array;
}
/**
 * ValidatorHistoricalRewards represents historical rewards for a validator.
 * Height is implicit within the store key.
 * Cumulative reward ratio is the sum from the zeroeth period
 * until this period of rewards / tokens, per the spec.
 * The reference count indicates the number of objects
 * which might need to reference this historical entry at any point.
 * ReferenceCount =
 *    number of outstanding delegations which ended the associated period (and
 *    might need to read that record)
 *  + number of slashes which ended the associated period (and might need to
 *  read that record)
 *  + one per validator for the zeroeth period, set on initialization
 * @name ValidatorHistoricalRewardsAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorHistoricalRewards
 */
export interface ValidatorHistoricalRewardsAmino {
    cumulative_reward_ratio: DecCoinAmino[];
    reference_count: number;
}
export interface ValidatorHistoricalRewardsAminoMsg {
    type: "cosmos-sdk/ValidatorHistoricalRewards";
    value: ValidatorHistoricalRewardsAmino;
}
/**
 * ValidatorCurrentRewards represents current rewards and current
 * period for a validator kept as a running counter and incremented
 * each block as long as the validator's tokens remain constant.
 * @name ValidatorCurrentRewards
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorCurrentRewards
 */
export interface ValidatorCurrentRewards {
    rewards: DecCoin[];
    period: bigint;
}
export interface ValidatorCurrentRewardsProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.ValidatorCurrentRewards";
    value: Uint8Array;
}
/**
 * ValidatorCurrentRewards represents current rewards and current
 * period for a validator kept as a running counter and incremented
 * each block as long as the validator's tokens remain constant.
 * @name ValidatorCurrentRewardsAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorCurrentRewards
 */
export interface ValidatorCurrentRewardsAmino {
    rewards: DecCoinAmino[];
    period: string;
}
export interface ValidatorCurrentRewardsAminoMsg {
    type: "cosmos-sdk/ValidatorCurrentRewards";
    value: ValidatorCurrentRewardsAmino;
}
/**
 * ValidatorAccumulatedCommission represents accumulated commission
 * for a validator kept as a running counter, can be withdrawn at any time.
 * @name ValidatorAccumulatedCommission
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorAccumulatedCommission
 */
export interface ValidatorAccumulatedCommission {
    commission: DecCoin[];
}
export interface ValidatorAccumulatedCommissionProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission";
    value: Uint8Array;
}
/**
 * ValidatorAccumulatedCommission represents accumulated commission
 * for a validator kept as a running counter, can be withdrawn at any time.
 * @name ValidatorAccumulatedCommissionAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorAccumulatedCommission
 */
export interface ValidatorAccumulatedCommissionAmino {
    commission: DecCoinAmino[];
}
export interface ValidatorAccumulatedCommissionAminoMsg {
    type: "cosmos-sdk/ValidatorAccumulatedCommission";
    value: ValidatorAccumulatedCommissionAmino;
}
/**
 * ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards
 * for a validator inexpensive to track, allows simple sanity checks.
 * @name ValidatorOutstandingRewards
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorOutstandingRewards
 */
export interface ValidatorOutstandingRewards {
    rewards: DecCoin[];
}
export interface ValidatorOutstandingRewardsProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.ValidatorOutstandingRewards";
    value: Uint8Array;
}
/**
 * ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards
 * for a validator inexpensive to track, allows simple sanity checks.
 * @name ValidatorOutstandingRewardsAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorOutstandingRewards
 */
export interface ValidatorOutstandingRewardsAmino {
    rewards: DecCoinAmino[];
}
export interface ValidatorOutstandingRewardsAminoMsg {
    type: "cosmos-sdk/ValidatorOutstandingRewards";
    value: ValidatorOutstandingRewardsAmino;
}
/**
 * ValidatorSlashEvent represents a validator slash event.
 * Height is implicit within the store key.
 * This is needed to calculate appropriate amount of staking tokens
 * for delegations which are withdrawn after a slash has occurred.
 * @name ValidatorSlashEvent
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorSlashEvent
 */
export interface ValidatorSlashEvent {
    validatorPeriod: bigint;
    fraction: string;
}
export interface ValidatorSlashEventProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.ValidatorSlashEvent";
    value: Uint8Array;
}
/**
 * ValidatorSlashEvent represents a validator slash event.
 * Height is implicit within the store key.
 * This is needed to calculate appropriate amount of staking tokens
 * for delegations which are withdrawn after a slash has occurred.
 * @name ValidatorSlashEventAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorSlashEvent
 */
export interface ValidatorSlashEventAmino {
    validator_period: string;
    fraction: string;
}
export interface ValidatorSlashEventAminoMsg {
    type: "cosmos-sdk/ValidatorSlashEvent";
    value: ValidatorSlashEventAmino;
}
/**
 * ValidatorSlashEvents is a collection of ValidatorSlashEvent messages.
 * @name ValidatorSlashEvents
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorSlashEvents
 */
export interface ValidatorSlashEvents {
    validatorSlashEvents: ValidatorSlashEvent[];
}
export interface ValidatorSlashEventsProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.ValidatorSlashEvents";
    value: Uint8Array;
}
/**
 * ValidatorSlashEvents is a collection of ValidatorSlashEvent messages.
 * @name ValidatorSlashEventsAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorSlashEvents
 */
export interface ValidatorSlashEventsAmino {
    validator_slash_events: ValidatorSlashEventAmino[];
}
export interface ValidatorSlashEventsAminoMsg {
    type: "cosmos-sdk/ValidatorSlashEvents";
    value: ValidatorSlashEventsAmino;
}
/**
 * FeePool is the global fee pool for distribution.
 * @name FeePool
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.FeePool
 */
export interface FeePool {
    communityPool: DecCoin[];
}
export interface FeePoolProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.FeePool";
    value: Uint8Array;
}
/**
 * FeePool is the global fee pool for distribution.
 * @name FeePoolAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.FeePool
 */
export interface FeePoolAmino {
    community_pool: DecCoinAmino[];
}
export interface FeePoolAminoMsg {
    type: "cosmos-sdk/FeePool";
    value: FeePoolAmino;
}
/**
 * CommunityPoolSpendProposal details a proposal for use of community funds,
 * together with how many coins are proposed to be spent, and to which
 * recipient account.
 *
 * Deprecated: Do not use. As of the Cosmos SDK release v0.47.x, there is no
 * longer a need for an explicit CommunityPoolSpendProposal. To spend community
 * pool funds, a simple MsgCommunityPoolSpend can be invoked from the x/gov
 * module via a v1 governance proposal.
 * @name CommunityPoolSpendProposal
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.CommunityPoolSpendProposal
 * @deprecated
 */
export interface CommunityPoolSpendProposal {
    title: string;
    description: string;
    recipient: string;
    amount: Coin[];
}
export interface CommunityPoolSpendProposalProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.CommunityPoolSpendProposal";
    value: Uint8Array;
}
/**
 * CommunityPoolSpendProposal details a proposal for use of community funds,
 * together with how many coins are proposed to be spent, and to which
 * recipient account.
 *
 * Deprecated: Do not use. As of the Cosmos SDK release v0.47.x, there is no
 * longer a need for an explicit CommunityPoolSpendProposal. To spend community
 * pool funds, a simple MsgCommunityPoolSpend can be invoked from the x/gov
 * module via a v1 governance proposal.
 * @name CommunityPoolSpendProposalAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.CommunityPoolSpendProposal
 * @deprecated
 */
export interface CommunityPoolSpendProposalAmino {
    title: string;
    description: string;
    recipient: string;
    amount: CoinAmino[];
}
export interface CommunityPoolSpendProposalAminoMsg {
    type: "cosmos-sdk/CommunityPoolSpendProposal";
    value: CommunityPoolSpendProposalAmino;
}
/**
 * DelegatorStartingInfo represents the starting info for a delegator reward
 * period. It tracks the previous validator period, the delegation's amount of
 * staking token, and the creation height (to check later on if any slashes have
 * occurred). NOTE: Even though validators are slashed to whole staking tokens,
 * the delegators within the validator may be left with less than a full token,
 * thus sdk.Dec is used.
 * @name DelegatorStartingInfo
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.DelegatorStartingInfo
 */
export interface DelegatorStartingInfo {
    previousPeriod: bigint;
    stake: string;
    height: bigint;
}
export interface DelegatorStartingInfoProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.DelegatorStartingInfo";
    value: Uint8Array;
}
/**
 * DelegatorStartingInfo represents the starting info for a delegator reward
 * period. It tracks the previous validator period, the delegation's amount of
 * staking token, and the creation height (to check later on if any slashes have
 * occurred). NOTE: Even though validators are slashed to whole staking tokens,
 * the delegators within the validator may be left with less than a full token,
 * thus sdk.Dec is used.
 * @name DelegatorStartingInfoAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.DelegatorStartingInfo
 */
export interface DelegatorStartingInfoAmino {
    previous_period: string;
    stake: string;
    height: string;
}
export interface DelegatorStartingInfoAminoMsg {
    type: "cosmos-sdk/DelegatorStartingInfo";
    value: DelegatorStartingInfoAmino;
}
/**
 * DelegationDelegatorReward represents the properties
 * of a delegator's delegation reward.
 * @name DelegationDelegatorReward
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.DelegationDelegatorReward
 */
export interface DelegationDelegatorReward {
    validatorAddress: string;
    reward: DecCoin[];
}
export interface DelegationDelegatorRewardProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.DelegationDelegatorReward";
    value: Uint8Array;
}
/**
 * DelegationDelegatorReward represents the properties
 * of a delegator's delegation reward.
 * @name DelegationDelegatorRewardAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.DelegationDelegatorReward
 */
export interface DelegationDelegatorRewardAmino {
    validator_address: string;
    reward: DecCoinAmino[];
}
export interface DelegationDelegatorRewardAminoMsg {
    type: "cosmos-sdk/DelegationDelegatorReward";
    value: DelegationDelegatorRewardAmino;
}
/**
 * CommunityPoolSpendProposalWithDeposit defines a CommunityPoolSpendProposal
 * with a deposit
 * @name CommunityPoolSpendProposalWithDeposit
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit
 */
export interface CommunityPoolSpendProposalWithDeposit {
    title: string;
    description: string;
    recipient: string;
    amount: string;
    deposit: string;
}
export interface CommunityPoolSpendProposalWithDepositProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit";
    value: Uint8Array;
}
/**
 * CommunityPoolSpendProposalWithDeposit defines a CommunityPoolSpendProposal
 * with a deposit
 * @name CommunityPoolSpendProposalWithDepositAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit
 */
export interface CommunityPoolSpendProposalWithDepositAmino {
    title: string;
    description: string;
    recipient: string;
    amount: string;
    deposit: string;
}
export interface CommunityPoolSpendProposalWithDepositAminoMsg {
    type: "cosmos-sdk/CommunityPoolSpendProposalWithDeposit";
    value: CommunityPoolSpendProposalWithDepositAmino;
}
/**
 * Params defines the set of params for the distribution module.
 * @name Params
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.Params
 */
export declare const Params: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is Params;
    isAmino(o: any): o is ParamsAmino;
    encode(message: Params, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): Params;
    fromPartial(object: DeepPartial<Params>): Params;
    fromAmino(object: ParamsAmino): Params;
    toAmino(message: Params): ParamsAmino;
    fromAminoMsg(object: ParamsAminoMsg): Params;
    toAminoMsg(message: Params): ParamsAminoMsg;
    fromProtoMsg(message: ParamsProtoMsg): Params;
    toProto(message: Params): Uint8Array;
    toProtoMsg(message: Params): ParamsProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ValidatorHistoricalRewards represents historical rewards for a validator.
 * Height is implicit within the store key.
 * Cumulative reward ratio is the sum from the zeroeth period
 * until this period of rewards / tokens, per the spec.
 * The reference count indicates the number of objects
 * which might need to reference this historical entry at any point.
 * ReferenceCount =
 *    number of outstanding delegations which ended the associated period (and
 *    might need to read that record)
 *  + number of slashes which ended the associated period (and might need to
 *  read that record)
 *  + one per validator for the zeroeth period, set on initialization
 * @name ValidatorHistoricalRewards
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorHistoricalRewards
 */
export declare const ValidatorHistoricalRewards: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ValidatorHistoricalRewards;
    isAmino(o: any): o is ValidatorHistoricalRewardsAmino;
    encode(message: ValidatorHistoricalRewards, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ValidatorHistoricalRewards;
    fromPartial(object: DeepPartial<ValidatorHistoricalRewards>): ValidatorHistoricalRewards;
    fromAmino(object: ValidatorHistoricalRewardsAmino): ValidatorHistoricalRewards;
    toAmino(message: ValidatorHistoricalRewards): ValidatorHistoricalRewardsAmino;
    fromAminoMsg(object: ValidatorHistoricalRewardsAminoMsg): ValidatorHistoricalRewards;
    toAminoMsg(message: ValidatorHistoricalRewards): ValidatorHistoricalRewardsAminoMsg;
    fromProtoMsg(message: ValidatorHistoricalRewardsProtoMsg): ValidatorHistoricalRewards;
    toProto(message: ValidatorHistoricalRewards): Uint8Array;
    toProtoMsg(message: ValidatorHistoricalRewards): ValidatorHistoricalRewardsProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ValidatorCurrentRewards represents current rewards and current
 * period for a validator kept as a running counter and incremented
 * each block as long as the validator's tokens remain constant.
 * @name ValidatorCurrentRewards
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorCurrentRewards
 */
export declare const ValidatorCurrentRewards: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ValidatorCurrentRewards;
    isAmino(o: any): o is ValidatorCurrentRewardsAmino;
    encode(message: ValidatorCurrentRewards, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ValidatorCurrentRewards;
    fromPartial(object: DeepPartial<ValidatorCurrentRewards>): ValidatorCurrentRewards;
    fromAmino(object: ValidatorCurrentRewardsAmino): ValidatorCurrentRewards;
    toAmino(message: ValidatorCurrentRewards): ValidatorCurrentRewardsAmino;
    fromAminoMsg(object: ValidatorCurrentRewardsAminoMsg): ValidatorCurrentRewards;
    toAminoMsg(message: ValidatorCurrentRewards): ValidatorCurrentRewardsAminoMsg;
    fromProtoMsg(message: ValidatorCurrentRewardsProtoMsg): ValidatorCurrentRewards;
    toProto(message: ValidatorCurrentRewards): Uint8Array;
    toProtoMsg(message: ValidatorCurrentRewards): ValidatorCurrentRewardsProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ValidatorAccumulatedCommission represents accumulated commission
 * for a validator kept as a running counter, can be withdrawn at any time.
 * @name ValidatorAccumulatedCommission
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorAccumulatedCommission
 */
export declare const ValidatorAccumulatedCommission: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ValidatorAccumulatedCommission;
    isAmino(o: any): o is ValidatorAccumulatedCommissionAmino;
    encode(message: ValidatorAccumulatedCommission, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ValidatorAccumulatedCommission;
    fromPartial(object: DeepPartial<ValidatorAccumulatedCommission>): ValidatorAccumulatedCommission;
    fromAmino(object: ValidatorAccumulatedCommissionAmino): ValidatorAccumulatedCommission;
    toAmino(message: ValidatorAccumulatedCommission): ValidatorAccumulatedCommissionAmino;
    fromAminoMsg(object: ValidatorAccumulatedCommissionAminoMsg): ValidatorAccumulatedCommission;
    toAminoMsg(message: ValidatorAccumulatedCommission): ValidatorAccumulatedCommissionAminoMsg;
    fromProtoMsg(message: ValidatorAccumulatedCommissionProtoMsg): ValidatorAccumulatedCommission;
    toProto(message: ValidatorAccumulatedCommission): Uint8Array;
    toProtoMsg(message: ValidatorAccumulatedCommission): ValidatorAccumulatedCommissionProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards
 * for a validator inexpensive to track, allows simple sanity checks.
 * @name ValidatorOutstandingRewards
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorOutstandingRewards
 */
export declare const ValidatorOutstandingRewards: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ValidatorOutstandingRewards;
    isAmino(o: any): o is ValidatorOutstandingRewardsAmino;
    encode(message: ValidatorOutstandingRewards, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ValidatorOutstandingRewards;
    fromPartial(object: DeepPartial<ValidatorOutstandingRewards>): ValidatorOutstandingRewards;
    fromAmino(object: ValidatorOutstandingRewardsAmino): ValidatorOutstandingRewards;
    toAmino(message: ValidatorOutstandingRewards): ValidatorOutstandingRewardsAmino;
    fromAminoMsg(object: ValidatorOutstandingRewardsAminoMsg): ValidatorOutstandingRewards;
    toAminoMsg(message: ValidatorOutstandingRewards): ValidatorOutstandingRewardsAminoMsg;
    fromProtoMsg(message: ValidatorOutstandingRewardsProtoMsg): ValidatorOutstandingRewards;
    toProto(message: ValidatorOutstandingRewards): Uint8Array;
    toProtoMsg(message: ValidatorOutstandingRewards): ValidatorOutstandingRewardsProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ValidatorSlashEvent represents a validator slash event.
 * Height is implicit within the store key.
 * This is needed to calculate appropriate amount of staking tokens
 * for delegations which are withdrawn after a slash has occurred.
 * @name ValidatorSlashEvent
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorSlashEvent
 */
export declare const ValidatorSlashEvent: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ValidatorSlashEvent;
    isAmino(o: any): o is ValidatorSlashEventAmino;
    encode(message: ValidatorSlashEvent, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ValidatorSlashEvent;
    fromPartial(object: DeepPartial<ValidatorSlashEvent>): ValidatorSlashEvent;
    fromAmino(object: ValidatorSlashEventAmino): ValidatorSlashEvent;
    toAmino(message: ValidatorSlashEvent): ValidatorSlashEventAmino;
    fromAminoMsg(object: ValidatorSlashEventAminoMsg): ValidatorSlashEvent;
    toAminoMsg(message: ValidatorSlashEvent): ValidatorSlashEventAminoMsg;
    fromProtoMsg(message: ValidatorSlashEventProtoMsg): ValidatorSlashEvent;
    toProto(message: ValidatorSlashEvent): Uint8Array;
    toProtoMsg(message: ValidatorSlashEvent): ValidatorSlashEventProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ValidatorSlashEvents is a collection of ValidatorSlashEvent messages.
 * @name ValidatorSlashEvents
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorSlashEvents
 */
export declare const ValidatorSlashEvents: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ValidatorSlashEvents;
    isAmino(o: any): o is ValidatorSlashEventsAmino;
    encode(message: ValidatorSlashEvents, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ValidatorSlashEvents;
    fromPartial(object: DeepPartial<ValidatorSlashEvents>): ValidatorSlashEvents;
    fromAmino(object: ValidatorSlashEventsAmino): ValidatorSlashEvents;
    toAmino(message: ValidatorSlashEvents): ValidatorSlashEventsAmino;
    fromAminoMsg(object: ValidatorSlashEventsAminoMsg): ValidatorSlashEvents;
    toAminoMsg(message: ValidatorSlashEvents): ValidatorSlashEventsAminoMsg;
    fromProtoMsg(message: ValidatorSlashEventsProtoMsg): ValidatorSlashEvents;
    toProto(message: ValidatorSlashEvents): Uint8Array;
    toProtoMsg(message: ValidatorSlashEvents): ValidatorSlashEventsProtoMsg;
    registerTypeUrl(): void;
};
/**
 * FeePool is the global fee pool for distribution.
 * @name FeePool
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.FeePool
 */
export declare const FeePool: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is FeePool;
    isAmino(o: any): o is FeePoolAmino;
    encode(message: FeePool, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): FeePool;
    fromPartial(object: DeepPartial<FeePool>): FeePool;
    fromAmino(object: FeePoolAmino): FeePool;
    toAmino(message: FeePool): FeePoolAmino;
    fromAminoMsg(object: FeePoolAminoMsg): FeePool;
    toAminoMsg(message: FeePool): FeePoolAminoMsg;
    fromProtoMsg(message: FeePoolProtoMsg): FeePool;
    toProto(message: FeePool): Uint8Array;
    toProtoMsg(message: FeePool): FeePoolProtoMsg;
    registerTypeUrl(): void;
};
/**
 * CommunityPoolSpendProposal details a proposal for use of community funds,
 * together with how many coins are proposed to be spent, and to which
 * recipient account.
 *
 * Deprecated: Do not use. As of the Cosmos SDK release v0.47.x, there is no
 * longer a need for an explicit CommunityPoolSpendProposal. To spend community
 * pool funds, a simple MsgCommunityPoolSpend can be invoked from the x/gov
 * module via a v1 governance proposal.
 * @name CommunityPoolSpendProposal
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.CommunityPoolSpendProposal
 * @deprecated
 */
export declare const CommunityPoolSpendProposal: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is CommunityPoolSpendProposal;
    isAmino(o: any): o is CommunityPoolSpendProposalAmino;
    encode(message: CommunityPoolSpendProposal, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): CommunityPoolSpendProposal;
    fromPartial(object: DeepPartial<CommunityPoolSpendProposal>): CommunityPoolSpendProposal;
    fromAmino(object: CommunityPoolSpendProposalAmino): CommunityPoolSpendProposal;
    toAmino(message: CommunityPoolSpendProposal): CommunityPoolSpendProposalAmino;
    fromAminoMsg(object: CommunityPoolSpendProposalAminoMsg): CommunityPoolSpendProposal;
    toAminoMsg(message: CommunityPoolSpendProposal): CommunityPoolSpendProposalAminoMsg;
    fromProtoMsg(message: CommunityPoolSpendProposalProtoMsg): CommunityPoolSpendProposal;
    toProto(message: CommunityPoolSpendProposal): Uint8Array;
    toProtoMsg(message: CommunityPoolSpendProposal): CommunityPoolSpendProposalProtoMsg;
    registerTypeUrl(): void;
};
/**
 * DelegatorStartingInfo represents the starting info for a delegator reward
 * period. It tracks the previous validator period, the delegation's amount of
 * staking token, and the creation height (to check later on if any slashes have
 * occurred). NOTE: Even though validators are slashed to whole staking tokens,
 * the delegators within the validator may be left with less than a full token,
 * thus sdk.Dec is used.
 * @name DelegatorStartingInfo
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.DelegatorStartingInfo
 */
export declare const DelegatorStartingInfo: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is DelegatorStartingInfo;
    isAmino(o: any): o is DelegatorStartingInfoAmino;
    encode(message: DelegatorStartingInfo, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): DelegatorStartingInfo;
    fromPartial(object: DeepPartial<DelegatorStartingInfo>): DelegatorStartingInfo;
    fromAmino(object: DelegatorStartingInfoAmino): DelegatorStartingInfo;
    toAmino(message: DelegatorStartingInfo): DelegatorStartingInfoAmino;
    fromAminoMsg(object: DelegatorStartingInfoAminoMsg): DelegatorStartingInfo;
    toAminoMsg(message: DelegatorStartingInfo): DelegatorStartingInfoAminoMsg;
    fromProtoMsg(message: DelegatorStartingInfoProtoMsg): DelegatorStartingInfo;
    toProto(message: DelegatorStartingInfo): Uint8Array;
    toProtoMsg(message: DelegatorStartingInfo): DelegatorStartingInfoProtoMsg;
    registerTypeUrl(): void;
};
/**
 * DelegationDelegatorReward represents the properties
 * of a delegator's delegation reward.
 * @name DelegationDelegatorReward
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.DelegationDelegatorReward
 */
export declare const DelegationDelegatorReward: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is DelegationDelegatorReward;
    isAmino(o: any): o is DelegationDelegatorRewardAmino;
    encode(message: DelegationDelegatorReward, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): DelegationDelegatorReward;
    fromPartial(object: DeepPartial<DelegationDelegatorReward>): DelegationDelegatorReward;
    fromAmino(object: DelegationDelegatorRewardAmino): DelegationDelegatorReward;
    toAmino(message: DelegationDelegatorReward): DelegationDelegatorRewardAmino;
    fromAminoMsg(object: DelegationDelegatorRewardAminoMsg): DelegationDelegatorReward;
    toAminoMsg(message: DelegationDelegatorReward): DelegationDelegatorRewardAminoMsg;
    fromProtoMsg(message: DelegationDelegatorRewardProtoMsg): DelegationDelegatorReward;
    toProto(message: DelegationDelegatorReward): Uint8Array;
    toProtoMsg(message: DelegationDelegatorReward): DelegationDelegatorRewardProtoMsg;
    registerTypeUrl(): void;
};
/**
 * CommunityPoolSpendProposalWithDeposit defines a CommunityPoolSpendProposal
 * with a deposit
 * @name CommunityPoolSpendProposalWithDeposit
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit
 */
export declare const CommunityPoolSpendProposalWithDeposit: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is CommunityPoolSpendProposalWithDeposit;
    isAmino(o: any): o is CommunityPoolSpendProposalWithDepositAmino;
    encode(message: CommunityPoolSpendProposalWithDeposit, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): CommunityPoolSpendProposalWithDeposit;
    fromPartial(object: DeepPartial<CommunityPoolSpendProposalWithDeposit>): CommunityPoolSpendProposalWithDeposit;
    fromAmino(object: CommunityPoolSpendProposalWithDepositAmino): CommunityPoolSpendProposalWithDeposit;
    toAmino(message: CommunityPoolSpendProposalWithDeposit): CommunityPoolSpendProposalWithDepositAmino;
    fromAminoMsg(object: CommunityPoolSpendProposalWithDepositAminoMsg): CommunityPoolSpendProposalWithDeposit;
    toAminoMsg(message: CommunityPoolSpendProposalWithDeposit): CommunityPoolSpendProposalWithDepositAminoMsg;
    fromProtoMsg(message: CommunityPoolSpendProposalWithDepositProtoMsg): CommunityPoolSpendProposalWithDeposit;
    toProto(message: CommunityPoolSpendProposalWithDeposit): Uint8Array;
    toProtoMsg(message: CommunityPoolSpendProposalWithDeposit): CommunityPoolSpendProposalWithDepositProtoMsg;
    registerTypeUrl(): void;
};
