import { AccountId, AccountData } from "@polkadot/types/interfaces"; import { GenericEventData } from "@polkadot/types/generic/Event"; import { MemberId } from "@joystream/types/members"; import { VotingResults } from "@joystream/types/proposals"; import { Stake } from "@joystream/types/stake"; import { RewardRelationship } from "@joystream/types/recurring-rewards"; export interface AccountBalance { accountId: string; balance: AccountData; } export interface ElectionInfo { durations: number[]; stage: any; round: number; stageEndsAt: number; termEndsAt: number; } export interface Vote { vote: string; handle: string; } export interface ProposalDetail { created: number; finalizedAt: number; message: string; parameters: string; stage: any; result: string; exec: any; id: number; title: string; description: any; votes: VotingResults; type: string; votesByAccount?: Vote[]; author?: string; authorId: number; } export interface Round { round: number; start: number; end: number; } export class Bounty { constructor( public testnet: string, public proposalId: number, public title: string, public status: string, public amountAsked: number, public amountMinted: number ) {} } export class CacheEvent { constructor( public section: string, public method: string, public data: GenericEventData ) {} } export interface WorkerReward { id: number; memberId: MemberId; account: AccountId; handle: string; stake: Stake; reward: RewardRelationship; status: string; }