import { EpochManager } from '@celo/abis/web3/EpochManager'; import BigNumber from 'bignumber.js'; import { BaseWrapperForGoverning } from './BaseWrapperForGoverning'; export declare enum EpochProcessStatus { NotStarted = 0, Started = 1 } export interface EpochProcessState { status: EpochProcessStatus; perValidatorReward: BigNumber; totalRewardsVoter: BigNumber; totalRewardsCommunity: BigNumber; totalRewardsCarbonFund: BigNumber; } export interface EpochManagerConfig { currentEpochNumber: number; epochDuration: number; isTimeForNextEpoch: boolean; } /** * Contract handling epoch management. */ export declare class EpochManagerWrapper extends BaseWrapperForGoverning { get _contract(): EpochManager; epochDuration: () => Promise; firstKnownEpoch: () => Promise; getCurrentEpochNumber: () => Promise; getFirstBlockAtEpoch: (epoch: string | number) => Promise; getLastBlockAtEpoch: (epoch: string | number) => Promise; getEpochNumberOfBlock: (_blockNumber: string | number) => Promise; processedGroups: (arg0: string) => Promise; isOnEpochProcess: () => Promise; isEpochProcessingStarted: () => Promise; isIndividualProcessing: () => Promise; isTimeForNextEpoch: () => Promise; getElectedAccounts: () => Promise; getElectedSigners: () => Promise; getEpochProcessingStatus: () => Promise; startNextEpochProcess: () => import("@celo/connect").CeloTransactionObject; finishNextEpochProcess: (groups: string[], lessers: string[], greaters: string[]) => import("@celo/connect").CeloTransactionObject; sendValidatorPayment: (validator: string) => import("@celo/connect").CeloTransactionObject; setToProcessGroups: () => import("@celo/connect").CeloTransactionObject; processGroups: (groups: string[], lessers: string[], greaters: string[]) => import("@celo/connect").CeloTransactionObject; startNextEpochProcessTx: () => Promise | undefined>; finishNextEpochProcessTx: () => Promise>; processGroupsTx: () => Promise>; getLessersAndGreaters: (groups: string[]) => Promise; getEpochGroupsAndSorting: () => Promise<{ groups: string[]; lessers: string[]; greaters: string[]; }>; getConfig(): Promise; } export type EpochManagerWrapperType = EpochManagerWrapper;