import { AccountId, AccountIndex, Balance, BalanceLock, BalanceLockTo212, BalanceOf, Bid, BidKind, BlockNumber, EraIndex, EraPoints, Exposure, Hash, Index, Keys, Proposal, PropIndex, ProposalIndex, ReferendumInfo, RegistrationJudgement, RewardDestination, SessionIndex, SetIndex, SocietyVote, StakingLedger, StrikeCount, TreasuryProposal, ValidatorPrefs, Vote, Votes, VoteIndex, VouchingStatus } from "../types/interfaces"; import BN from 'bn.js'; import { u32, Vec } from "../types"; export declare type AccountIndexes = Record; export interface DeriveAccountRegistration { display?: string; displayParent?: string; email?: string; image?: string; legal?: string; parent?: AccountId; pgp?: string; riot?: string; twitter?: string; web?: string; judgements: RegistrationJudgement[]; } export interface DeriveAccountInfo { accountId?: AccountId; accountIndex?: AccountIndex; nickname?: string; } export interface DerivedBalancesAccount { accountId: AccountId; accountNonce: Index; freeBalance: Balance; frozenFee: Balance; frozenMisc: Balance; reservedBalance: Balance; votingBalance: Balance; } export interface DerivedBalancesAll extends DerivedBalancesAccount { isVesting: boolean; lockedBalance: Balance; lockedBreakdown: (BalanceLock | BalanceLockTo212)[]; availableBalance: Balance; votingBalance: Balance; vestedBalance: Balance; vestingTotal: Balance; } export declare type DerivedBalancesMap = Record; export interface DerivedContractFees { callBaseFee: BN; contractFee: BN; creationFee: BN; rentByteFee: BN; rentDepositOffset: BN; tombstoneDeposit: BN; transactionBaseFee: BN; transactionByteFee: BN; transferFee: BN; } export interface DerivedCollectiveProposal { hash: Hash; proposal: Proposal; votes: Votes | null; } export declare type DerivedCollectiveProposals = DerivedCollectiveProposal[]; export interface DerivedElectionsInfo { candidates: AccountId[]; candidateCount: u32; candidacyBond?: Balance; desiredSeats: u32; members: [AccountId, Balance][]; nextVoterSet?: SetIndex; runnersUp: [AccountId, Balance][]; termDuration: BlockNumber; voteCount?: VoteIndex; voterCount?: SetIndex; votingBond?: Balance; } export interface DerivedFees { creationFee: Balance; existentialDeposit: Balance; transactionBaseFee: Balance; transactionByteFee: Balance; transferFee: Balance; } export interface DerivedHeartbeatAuthor { blockCount: u32; hasMessage: boolean; isOnline: boolean; } export declare type DerivedHeartbeats = Record; export interface RecentlyOffline { blockNumber: BlockNumber; count: BN; } export interface DeriveProposalPreImage { at: BlockNumber; balance: Balance; proposer: AccountId; } export interface DeriveProposal { balance?: Balance; hash: Hash; index: PropIndex; preimage?: DeriveProposalPreImage; proposal?: Proposal; proposer: AccountId; seconds: Vec; } export interface DerivedReferendum { hash: Hash; index: PropIndex; info: ReferendumInfo; preimage?: DeriveProposalPreImage; proposal?: Proposal; } export declare type DerivedRecentlyOffline = Record; export interface DerivedReferendumVote { accountId: AccountId; balance: Balance; vote: Vote; } export interface DeriveSessionIndexes { currentEra: EraIndex; currentIndex: SessionIndex; validatorCount: u32; } export interface DerivedSessionInfo extends DeriveSessionIndexes { eraLength: BlockNumber; eraProgress: BlockNumber; isEpoch: boolean; sessionLength: BlockNumber; sessionsPerEra: SessionIndex; sessionProgress: BlockNumber; } export interface DeriveSociety { bids: Bid[]; defender?: AccountId; hasDefender: boolean; head?: AccountId; founder?: AccountId; maxMembers: u32; pot: BalanceOf; } export interface DeriveSocietyCandidate { accountId: AccountId; kind: BidKind; value: Balance; isSuspended: boolean; } export interface DeriveSocietyMember { accountId: AccountId; isSuspended: boolean; payouts: [BlockNumber, Balance][]; strikes: StrikeCount; vote?: SocietyVote; vouching?: VouchingStatus; } export interface DerivedStakingElected { currentElected: AccountId[]; info: DerivedStakingQuery[]; } export interface DeriveStakingValidators { currentElected: AccountId[]; validators: AccountId[]; } export interface DerivedStakingStash { controllerId?: AccountId; nominators?: AccountId[]; nominateAt?: EraIndex; rewardDestination?: RewardDestination; nextKeys?: Keys; stakers?: Exposure; stashId?: AccountId; validatorPrefs?: ValidatorPrefs; } export interface DerivedStakingQuery extends DerivedStakingStash { accountId: AccountId; nextSessionIds: AccountId[]; sessionIds: AccountId[]; stakingLedger?: StakingLedger; } export interface DerivedStakingAccount extends DerivedStakingQuery { redeemable?: Balance; unlocking?: DerivedUnlocking[]; } export interface DerivedStakingOverview extends DeriveSessionIndexes { currentElected: AccountId[]; eraPoints: EraPoints; validators: AccountId[]; } export interface DerivedTreasuryProposal { id: ProposalIndex; proposal: TreasuryProposal; } export interface DerivedTreasuryProposals { approvals: DerivedTreasuryProposal[]; proposalCount: ProposalIndex; proposals: DerivedTreasuryProposal[]; } export declare type DerivedUnlocking = { remainingBlocks: BlockNumber; value: Balance; }; export interface VoterPosition { globalIndex: BN; index: BN; setIndex: SetIndex; } export declare type DerivedVoterPositions = Record;