/// import type { AccountId, Balance, EraIndex, Exposure, RewardDestination, RewardPoint, StakingLedger, ValidatorPrefs } from '@polkadot/types/interfaces'; import type { BN } from '@polkadot/util'; import type { DeriveSessionIndexes } from '../session/types'; export declare type DeriveEraValPoints = Record; export declare type DeriveEraValPrefs = Record; export declare type DeriveEraValSlash = Record; export interface DeriveEraPoints { era: EraIndex; eraPoints: RewardPoint; validators: DeriveEraValPoints; } export interface DeriveEraPrefs { era: EraIndex; validators: DeriveEraValPrefs; } export interface DeriveEraRewards { era: EraIndex; eraReward: Balance; } export interface DeriveEraSlashes { era: EraIndex; nominators: DeriveEraValSlash; validators: DeriveEraValSlash; } export interface DeriveStakerPoints { era: EraIndex; eraPoints: RewardPoint; points: RewardPoint; } export interface DeriveOwnExposure { clipped: Exposure; era: EraIndex; exposure: Exposure; } export interface DeriveEraExposureNominating { validatorId: string; validatorIndex: number; } export declare type DeriveEraNominatorExposure = Record; export declare type DeriveEraValidatorExposure = Record; export interface DeriveEraExposure { era: EraIndex; nominators: DeriveEraNominatorExposure; validators: DeriveEraValidatorExposure; } export interface DeriveStakerExposure { era: EraIndex; isEmpty: boolean; isValidator: boolean; nominating: DeriveEraExposureNominating[]; validators: DeriveEraValidatorExposure; } export interface DeriveStakerPrefs { era: EraIndex; validatorPrefs: ValidatorPrefs; } export interface DeriveStakerRewardValidator { total: Balance; value: Balance; } export interface DeriveStakerReward { era: EraIndex; eraReward: Balance; isEmpty: boolean; isValidator: boolean; nominating: DeriveEraExposureNominating[]; validators: Record; } export interface DeriveStakerSlashes { era: EraIndex; total: Balance; } export declare type DeriveOwnSlashes = DeriveStakerSlashes; export interface DeriveStakingKeys { nextSessionIds: AccountId[]; sessionIds: AccountId[]; } export interface DeriveStakingValidators { nextElected: AccountId[]; validators: AccountId[]; } export interface DeriveStakingStash { controllerId: AccountId | null; exposure: Exposure; nominators: AccountId[]; rewardDestination: RewardDestination; stashId: AccountId; validatorPrefs: ValidatorPrefs; } export interface DeriveStakingQuery extends DeriveStakingStash { accountId: AccountId; stakingLedger: StakingLedger; } export interface DeriveStakingElected { info: DeriveStakingQuery[]; nextElected: AccountId[]; validators: AccountId[]; } export interface DeriveStakingWaiting { info: DeriveStakingQuery[]; waiting: AccountId[]; } export interface DeriveUnlocking { remainingEras: BN; value: Balance; } export interface DeriveStakingAccount extends DeriveStakingQuery, DeriveStakingKeys { redeemable?: Balance; unlocking?: DeriveUnlocking[]; } export interface DeriveStakingOverview extends DeriveSessionIndexes { nextElected: AccountId[]; validators: AccountId[]; } export interface StakingQueryFlags { withController?: boolean; withDestination?: boolean; withExposure?: boolean; withLedger?: boolean; withNominations?: boolean; withPrefs?: boolean; }