import { DecCoin, DecCoinAmino } from "../../base/v1beta1/coin";
import { ValidatorAccumulatedCommission, ValidatorAccumulatedCommissionAmino, ValidatorHistoricalRewards, ValidatorHistoricalRewardsAmino, ValidatorCurrentRewards, ValidatorCurrentRewardsAmino, DelegatorStartingInfo, DelegatorStartingInfoAmino, ValidatorSlashEvent, ValidatorSlashEventAmino, Params, ParamsAmino, FeePool, FeePoolAmino } from "./distribution";
import { BinaryReader, BinaryWriter } from "../../../binary";
import { DeepPartial } from "../../../helpers";
/**
 * DelegatorWithdrawInfo is the address for where distributions rewards are
 * withdrawn to by default this struct is only used at genesis to feed in
 * default withdraw addresses.
 * @name DelegatorWithdrawInfo
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.DelegatorWithdrawInfo
 */
export interface DelegatorWithdrawInfo {
    /**
     * delegator_address is the address of the delegator.
     */
    delegatorAddress: string;
    /**
     * withdraw_address is the address to withdraw the delegation rewards to.
     */
    withdrawAddress: string;
}
export interface DelegatorWithdrawInfoProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.DelegatorWithdrawInfo";
    value: Uint8Array;
}
/**
 * DelegatorWithdrawInfo is the address for where distributions rewards are
 * withdrawn to by default this struct is only used at genesis to feed in
 * default withdraw addresses.
 * @name DelegatorWithdrawInfoAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.DelegatorWithdrawInfo
 */
export interface DelegatorWithdrawInfoAmino {
    /**
     * delegator_address is the address of the delegator.
     */
    delegator_address: string;
    /**
     * withdraw_address is the address to withdraw the delegation rewards to.
     */
    withdraw_address: string;
}
export interface DelegatorWithdrawInfoAminoMsg {
    type: "cosmos-sdk/DelegatorWithdrawInfo";
    value: DelegatorWithdrawInfoAmino;
}
/**
 * ValidatorOutstandingRewardsRecord is used for import/export via genesis json.
 * @name ValidatorOutstandingRewardsRecord
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord
 */
export interface ValidatorOutstandingRewardsRecord {
    /**
     * validator_address is the address of the validator.
     */
    validatorAddress: string;
    /**
     * outstanding_rewards represents the outstanding rewards of a validator.
     */
    outstandingRewards: DecCoin[];
}
export interface ValidatorOutstandingRewardsRecordProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord";
    value: Uint8Array;
}
/**
 * ValidatorOutstandingRewardsRecord is used for import/export via genesis json.
 * @name ValidatorOutstandingRewardsRecordAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord
 */
export interface ValidatorOutstandingRewardsRecordAmino {
    /**
     * validator_address is the address of the validator.
     */
    validator_address: string;
    /**
     * outstanding_rewards represents the outstanding rewards of a validator.
     */
    outstanding_rewards: DecCoinAmino[];
}
export interface ValidatorOutstandingRewardsRecordAminoMsg {
    type: "cosmos-sdk/ValidatorOutstandingRewardsRecord";
    value: ValidatorOutstandingRewardsRecordAmino;
}
/**
 * ValidatorAccumulatedCommissionRecord is used for import / export via genesis
 * json.
 * @name ValidatorAccumulatedCommissionRecord
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord
 */
export interface ValidatorAccumulatedCommissionRecord {
    /**
     * validator_address is the address of the validator.
     */
    validatorAddress: string;
    /**
     * accumulated is the accumulated commission of a validator.
     */
    accumulated: ValidatorAccumulatedCommission;
}
export interface ValidatorAccumulatedCommissionRecordProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord";
    value: Uint8Array;
}
/**
 * ValidatorAccumulatedCommissionRecord is used for import / export via genesis
 * json.
 * @name ValidatorAccumulatedCommissionRecordAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord
 */
export interface ValidatorAccumulatedCommissionRecordAmino {
    /**
     * validator_address is the address of the validator.
     */
    validator_address: string;
    /**
     * accumulated is the accumulated commission of a validator.
     */
    accumulated: ValidatorAccumulatedCommissionAmino;
}
export interface ValidatorAccumulatedCommissionRecordAminoMsg {
    type: "cosmos-sdk/ValidatorAccumulatedCommissionRecord";
    value: ValidatorAccumulatedCommissionRecordAmino;
}
/**
 * ValidatorHistoricalRewardsRecord is used for import / export via genesis
 * json.
 * @name ValidatorHistoricalRewardsRecord
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord
 */
export interface ValidatorHistoricalRewardsRecord {
    /**
     * validator_address is the address of the validator.
     */
    validatorAddress: string;
    /**
     * period defines the period the historical rewards apply to.
     */
    period: bigint;
    /**
     * rewards defines the historical rewards of a validator.
     */
    rewards: ValidatorHistoricalRewards;
}
export interface ValidatorHistoricalRewardsRecordProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord";
    value: Uint8Array;
}
/**
 * ValidatorHistoricalRewardsRecord is used for import / export via genesis
 * json.
 * @name ValidatorHistoricalRewardsRecordAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord
 */
export interface ValidatorHistoricalRewardsRecordAmino {
    /**
     * validator_address is the address of the validator.
     */
    validator_address: string;
    /**
     * period defines the period the historical rewards apply to.
     */
    period: string;
    /**
     * rewards defines the historical rewards of a validator.
     */
    rewards: ValidatorHistoricalRewardsAmino;
}
export interface ValidatorHistoricalRewardsRecordAminoMsg {
    type: "cosmos-sdk/ValidatorHistoricalRewardsRecord";
    value: ValidatorHistoricalRewardsRecordAmino;
}
/**
 * ValidatorCurrentRewardsRecord is used for import / export via genesis json.
 * @name ValidatorCurrentRewardsRecord
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord
 */
export interface ValidatorCurrentRewardsRecord {
    /**
     * validator_address is the address of the validator.
     */
    validatorAddress: string;
    /**
     * rewards defines the current rewards of a validator.
     */
    rewards: ValidatorCurrentRewards;
}
export interface ValidatorCurrentRewardsRecordProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord";
    value: Uint8Array;
}
/**
 * ValidatorCurrentRewardsRecord is used for import / export via genesis json.
 * @name ValidatorCurrentRewardsRecordAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord
 */
export interface ValidatorCurrentRewardsRecordAmino {
    /**
     * validator_address is the address of the validator.
     */
    validator_address: string;
    /**
     * rewards defines the current rewards of a validator.
     */
    rewards: ValidatorCurrentRewardsAmino;
}
export interface ValidatorCurrentRewardsRecordAminoMsg {
    type: "cosmos-sdk/ValidatorCurrentRewardsRecord";
    value: ValidatorCurrentRewardsRecordAmino;
}
/**
 * DelegatorStartingInfoRecord used for import / export via genesis json.
 * @name DelegatorStartingInfoRecord
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.DelegatorStartingInfoRecord
 */
export interface DelegatorStartingInfoRecord {
    /**
     * delegator_address is the address of the delegator.
     */
    delegatorAddress: string;
    /**
     * validator_address is the address of the validator.
     */
    validatorAddress: string;
    /**
     * starting_info defines the starting info of a delegator.
     */
    startingInfo: DelegatorStartingInfo;
}
export interface DelegatorStartingInfoRecordProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.DelegatorStartingInfoRecord";
    value: Uint8Array;
}
/**
 * DelegatorStartingInfoRecord used for import / export via genesis json.
 * @name DelegatorStartingInfoRecordAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.DelegatorStartingInfoRecord
 */
export interface DelegatorStartingInfoRecordAmino {
    /**
     * delegator_address is the address of the delegator.
     */
    delegator_address: string;
    /**
     * validator_address is the address of the validator.
     */
    validator_address: string;
    /**
     * starting_info defines the starting info of a delegator.
     */
    starting_info: DelegatorStartingInfoAmino;
}
export interface DelegatorStartingInfoRecordAminoMsg {
    type: "cosmos-sdk/DelegatorStartingInfoRecord";
    value: DelegatorStartingInfoRecordAmino;
}
/**
 * ValidatorSlashEventRecord is used for import / export via genesis json.
 * @name ValidatorSlashEventRecord
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorSlashEventRecord
 */
export interface ValidatorSlashEventRecord {
    /**
     * validator_address is the address of the validator.
     */
    validatorAddress: string;
    /**
     * height defines the block height at which the slash event occurred.
     */
    height: bigint;
    /**
     * period is the period of the slash event.
     */
    period: bigint;
    /**
     * validator_slash_event describes the slash event.
     */
    validatorSlashEvent: ValidatorSlashEvent;
}
export interface ValidatorSlashEventRecordProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.ValidatorSlashEventRecord";
    value: Uint8Array;
}
/**
 * ValidatorSlashEventRecord is used for import / export via genesis json.
 * @name ValidatorSlashEventRecordAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorSlashEventRecord
 */
export interface ValidatorSlashEventRecordAmino {
    /**
     * validator_address is the address of the validator.
     */
    validator_address: string;
    /**
     * height defines the block height at which the slash event occurred.
     */
    height: string;
    /**
     * period is the period of the slash event.
     */
    period: string;
    /**
     * validator_slash_event describes the slash event.
     */
    validator_slash_event: ValidatorSlashEventAmino;
}
export interface ValidatorSlashEventRecordAminoMsg {
    type: "cosmos-sdk/ValidatorSlashEventRecord";
    value: ValidatorSlashEventRecordAmino;
}
/**
 * GenesisState defines the distribution module's genesis state.
 * @name GenesisState
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.GenesisState
 */
export interface GenesisState {
    /**
     * params defines all the parameters of the module.
     */
    params: Params;
    /**
     * fee_pool defines the fee pool at genesis.
     */
    feePool: FeePool;
    /**
     * fee_pool defines the delegator withdraw infos at genesis.
     */
    delegatorWithdrawInfos: DelegatorWithdrawInfo[];
    /**
     * fee_pool defines the previous proposer at genesis.
     */
    previousProposer: string;
    /**
     * fee_pool defines the outstanding rewards of all validators at genesis.
     */
    outstandingRewards: ValidatorOutstandingRewardsRecord[];
    /**
     * fee_pool defines the accumulated commissions of all validators at genesis.
     */
    validatorAccumulatedCommissions: ValidatorAccumulatedCommissionRecord[];
    /**
     * fee_pool defines the historical rewards of all validators at genesis.
     */
    validatorHistoricalRewards: ValidatorHistoricalRewardsRecord[];
    /**
     * fee_pool defines the current rewards of all validators at genesis.
     */
    validatorCurrentRewards: ValidatorCurrentRewardsRecord[];
    /**
     * fee_pool defines the delegator starting infos at genesis.
     */
    delegatorStartingInfos: DelegatorStartingInfoRecord[];
    /**
     * fee_pool defines the validator slash events at genesis.
     */
    validatorSlashEvents: ValidatorSlashEventRecord[];
}
export interface GenesisStateProtoMsg {
    typeUrl: "/cosmos.distribution.v1beta1.GenesisState";
    value: Uint8Array;
}
/**
 * GenesisState defines the distribution module's genesis state.
 * @name GenesisStateAmino
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.GenesisState
 */
export interface GenesisStateAmino {
    /**
     * params defines all the parameters of the module.
     */
    params: ParamsAmino;
    /**
     * fee_pool defines the fee pool at genesis.
     */
    fee_pool: FeePoolAmino;
    /**
     * fee_pool defines the delegator withdraw infos at genesis.
     */
    delegator_withdraw_infos: DelegatorWithdrawInfoAmino[];
    /**
     * fee_pool defines the previous proposer at genesis.
     */
    previous_proposer: string;
    /**
     * fee_pool defines the outstanding rewards of all validators at genesis.
     */
    outstanding_rewards: ValidatorOutstandingRewardsRecordAmino[];
    /**
     * fee_pool defines the accumulated commissions of all validators at genesis.
     */
    validator_accumulated_commissions: ValidatorAccumulatedCommissionRecordAmino[];
    /**
     * fee_pool defines the historical rewards of all validators at genesis.
     */
    validator_historical_rewards: ValidatorHistoricalRewardsRecordAmino[];
    /**
     * fee_pool defines the current rewards of all validators at genesis.
     */
    validator_current_rewards: ValidatorCurrentRewardsRecordAmino[];
    /**
     * fee_pool defines the delegator starting infos at genesis.
     */
    delegator_starting_infos: DelegatorStartingInfoRecordAmino[];
    /**
     * fee_pool defines the validator slash events at genesis.
     */
    validator_slash_events: ValidatorSlashEventRecordAmino[];
}
export interface GenesisStateAminoMsg {
    type: "cosmos-sdk/GenesisState";
    value: GenesisStateAmino;
}
/**
 * DelegatorWithdrawInfo is the address for where distributions rewards are
 * withdrawn to by default this struct is only used at genesis to feed in
 * default withdraw addresses.
 * @name DelegatorWithdrawInfo
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.DelegatorWithdrawInfo
 */
export declare const DelegatorWithdrawInfo: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is DelegatorWithdrawInfo;
    isAmino(o: any): o is DelegatorWithdrawInfoAmino;
    encode(message: DelegatorWithdrawInfo, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): DelegatorWithdrawInfo;
    fromPartial(object: DeepPartial<DelegatorWithdrawInfo>): DelegatorWithdrawInfo;
    fromAmino(object: DelegatorWithdrawInfoAmino): DelegatorWithdrawInfo;
    toAmino(message: DelegatorWithdrawInfo): DelegatorWithdrawInfoAmino;
    fromAminoMsg(object: DelegatorWithdrawInfoAminoMsg): DelegatorWithdrawInfo;
    toAminoMsg(message: DelegatorWithdrawInfo): DelegatorWithdrawInfoAminoMsg;
    fromProtoMsg(message: DelegatorWithdrawInfoProtoMsg): DelegatorWithdrawInfo;
    toProto(message: DelegatorWithdrawInfo): Uint8Array;
    toProtoMsg(message: DelegatorWithdrawInfo): DelegatorWithdrawInfoProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ValidatorOutstandingRewardsRecord is used for import/export via genesis json.
 * @name ValidatorOutstandingRewardsRecord
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord
 */
export declare const ValidatorOutstandingRewardsRecord: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ValidatorOutstandingRewardsRecord;
    isAmino(o: any): o is ValidatorOutstandingRewardsRecordAmino;
    encode(message: ValidatorOutstandingRewardsRecord, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ValidatorOutstandingRewardsRecord;
    fromPartial(object: DeepPartial<ValidatorOutstandingRewardsRecord>): ValidatorOutstandingRewardsRecord;
    fromAmino(object: ValidatorOutstandingRewardsRecordAmino): ValidatorOutstandingRewardsRecord;
    toAmino(message: ValidatorOutstandingRewardsRecord): ValidatorOutstandingRewardsRecordAmino;
    fromAminoMsg(object: ValidatorOutstandingRewardsRecordAminoMsg): ValidatorOutstandingRewardsRecord;
    toAminoMsg(message: ValidatorOutstandingRewardsRecord): ValidatorOutstandingRewardsRecordAminoMsg;
    fromProtoMsg(message: ValidatorOutstandingRewardsRecordProtoMsg): ValidatorOutstandingRewardsRecord;
    toProto(message: ValidatorOutstandingRewardsRecord): Uint8Array;
    toProtoMsg(message: ValidatorOutstandingRewardsRecord): ValidatorOutstandingRewardsRecordProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ValidatorAccumulatedCommissionRecord is used for import / export via genesis
 * json.
 * @name ValidatorAccumulatedCommissionRecord
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord
 */
export declare const ValidatorAccumulatedCommissionRecord: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ValidatorAccumulatedCommissionRecord;
    isAmino(o: any): o is ValidatorAccumulatedCommissionRecordAmino;
    encode(message: ValidatorAccumulatedCommissionRecord, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ValidatorAccumulatedCommissionRecord;
    fromPartial(object: DeepPartial<ValidatorAccumulatedCommissionRecord>): ValidatorAccumulatedCommissionRecord;
    fromAmino(object: ValidatorAccumulatedCommissionRecordAmino): ValidatorAccumulatedCommissionRecord;
    toAmino(message: ValidatorAccumulatedCommissionRecord): ValidatorAccumulatedCommissionRecordAmino;
    fromAminoMsg(object: ValidatorAccumulatedCommissionRecordAminoMsg): ValidatorAccumulatedCommissionRecord;
    toAminoMsg(message: ValidatorAccumulatedCommissionRecord): ValidatorAccumulatedCommissionRecordAminoMsg;
    fromProtoMsg(message: ValidatorAccumulatedCommissionRecordProtoMsg): ValidatorAccumulatedCommissionRecord;
    toProto(message: ValidatorAccumulatedCommissionRecord): Uint8Array;
    toProtoMsg(message: ValidatorAccumulatedCommissionRecord): ValidatorAccumulatedCommissionRecordProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ValidatorHistoricalRewardsRecord is used for import / export via genesis
 * json.
 * @name ValidatorHistoricalRewardsRecord
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord
 */
export declare const ValidatorHistoricalRewardsRecord: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ValidatorHistoricalRewardsRecord;
    isAmino(o: any): o is ValidatorHistoricalRewardsRecordAmino;
    encode(message: ValidatorHistoricalRewardsRecord, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ValidatorHistoricalRewardsRecord;
    fromPartial(object: DeepPartial<ValidatorHistoricalRewardsRecord>): ValidatorHistoricalRewardsRecord;
    fromAmino(object: ValidatorHistoricalRewardsRecordAmino): ValidatorHistoricalRewardsRecord;
    toAmino(message: ValidatorHistoricalRewardsRecord): ValidatorHistoricalRewardsRecordAmino;
    fromAminoMsg(object: ValidatorHistoricalRewardsRecordAminoMsg): ValidatorHistoricalRewardsRecord;
    toAminoMsg(message: ValidatorHistoricalRewardsRecord): ValidatorHistoricalRewardsRecordAminoMsg;
    fromProtoMsg(message: ValidatorHistoricalRewardsRecordProtoMsg): ValidatorHistoricalRewardsRecord;
    toProto(message: ValidatorHistoricalRewardsRecord): Uint8Array;
    toProtoMsg(message: ValidatorHistoricalRewardsRecord): ValidatorHistoricalRewardsRecordProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ValidatorCurrentRewardsRecord is used for import / export via genesis json.
 * @name ValidatorCurrentRewardsRecord
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord
 */
export declare const ValidatorCurrentRewardsRecord: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ValidatorCurrentRewardsRecord;
    isAmino(o: any): o is ValidatorCurrentRewardsRecordAmino;
    encode(message: ValidatorCurrentRewardsRecord, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ValidatorCurrentRewardsRecord;
    fromPartial(object: DeepPartial<ValidatorCurrentRewardsRecord>): ValidatorCurrentRewardsRecord;
    fromAmino(object: ValidatorCurrentRewardsRecordAmino): ValidatorCurrentRewardsRecord;
    toAmino(message: ValidatorCurrentRewardsRecord): ValidatorCurrentRewardsRecordAmino;
    fromAminoMsg(object: ValidatorCurrentRewardsRecordAminoMsg): ValidatorCurrentRewardsRecord;
    toAminoMsg(message: ValidatorCurrentRewardsRecord): ValidatorCurrentRewardsRecordAminoMsg;
    fromProtoMsg(message: ValidatorCurrentRewardsRecordProtoMsg): ValidatorCurrentRewardsRecord;
    toProto(message: ValidatorCurrentRewardsRecord): Uint8Array;
    toProtoMsg(message: ValidatorCurrentRewardsRecord): ValidatorCurrentRewardsRecordProtoMsg;
    registerTypeUrl(): void;
};
/**
 * DelegatorStartingInfoRecord used for import / export via genesis json.
 * @name DelegatorStartingInfoRecord
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.DelegatorStartingInfoRecord
 */
export declare const DelegatorStartingInfoRecord: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is DelegatorStartingInfoRecord;
    isAmino(o: any): o is DelegatorStartingInfoRecordAmino;
    encode(message: DelegatorStartingInfoRecord, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): DelegatorStartingInfoRecord;
    fromPartial(object: DeepPartial<DelegatorStartingInfoRecord>): DelegatorStartingInfoRecord;
    fromAmino(object: DelegatorStartingInfoRecordAmino): DelegatorStartingInfoRecord;
    toAmino(message: DelegatorStartingInfoRecord): DelegatorStartingInfoRecordAmino;
    fromAminoMsg(object: DelegatorStartingInfoRecordAminoMsg): DelegatorStartingInfoRecord;
    toAminoMsg(message: DelegatorStartingInfoRecord): DelegatorStartingInfoRecordAminoMsg;
    fromProtoMsg(message: DelegatorStartingInfoRecordProtoMsg): DelegatorStartingInfoRecord;
    toProto(message: DelegatorStartingInfoRecord): Uint8Array;
    toProtoMsg(message: DelegatorStartingInfoRecord): DelegatorStartingInfoRecordProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ValidatorSlashEventRecord is used for import / export via genesis json.
 * @name ValidatorSlashEventRecord
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.ValidatorSlashEventRecord
 */
export declare const ValidatorSlashEventRecord: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ValidatorSlashEventRecord;
    isAmino(o: any): o is ValidatorSlashEventRecordAmino;
    encode(message: ValidatorSlashEventRecord, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ValidatorSlashEventRecord;
    fromPartial(object: DeepPartial<ValidatorSlashEventRecord>): ValidatorSlashEventRecord;
    fromAmino(object: ValidatorSlashEventRecordAmino): ValidatorSlashEventRecord;
    toAmino(message: ValidatorSlashEventRecord): ValidatorSlashEventRecordAmino;
    fromAminoMsg(object: ValidatorSlashEventRecordAminoMsg): ValidatorSlashEventRecord;
    toAminoMsg(message: ValidatorSlashEventRecord): ValidatorSlashEventRecordAminoMsg;
    fromProtoMsg(message: ValidatorSlashEventRecordProtoMsg): ValidatorSlashEventRecord;
    toProto(message: ValidatorSlashEventRecord): Uint8Array;
    toProtoMsg(message: ValidatorSlashEventRecord): ValidatorSlashEventRecordProtoMsg;
    registerTypeUrl(): void;
};
/**
 * GenesisState defines the distribution module's genesis state.
 * @name GenesisState
 * @package cosmos.distribution.v1beta1
 * @see proto type: cosmos.distribution.v1beta1.GenesisState
 */
export declare const GenesisState: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is GenesisState;
    isAmino(o: any): o is GenesisStateAmino;
    encode(message: GenesisState, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): GenesisState;
    fromPartial(object: DeepPartial<GenesisState>): GenesisState;
    fromAmino(object: GenesisStateAmino): GenesisState;
    toAmino(message: GenesisState): GenesisStateAmino;
    fromAminoMsg(object: GenesisStateAminoMsg): GenesisState;
    toAminoMsg(message: GenesisState): GenesisStateAminoMsg;
    fromProtoMsg(message: GenesisStateProtoMsg): GenesisState;
    toProto(message: GenesisState): Uint8Array;
    toProtoMsg(message: GenesisState): GenesisStateProtoMsg;
    registerTypeUrl(): void;
};
