import { ChainId, MiningStatusE } from '@dodoex/api';
import BigNumber from 'bignumber.js';
import dayjs from 'dayjs';
import { BaseMiningI, MiningRewardTokenI } from '../types';
export declare const MINING_POOL_REFETCH_INTERVAL = 60000;
export declare const VALID_MINING_TYPE: Array<BaseMiningI['type']>;
export declare const VALID_MINING_VERSION: Array<BaseMiningI['version']>;
export declare function getMiningRewardStatus({ startTime, endTime, }: {
    startTime: BigNumber | undefined;
    endTime: BigNumber | undefined;
}): {
    status: MiningStatusE;
    currentTime: BigNumber;
};
export declare function getMiningStatusByTimestamp({ rewardTokenInfoList, }: {
    rewardTokenInfoList: Pick<MiningRewardTokenI, 'startTime' | 'endTime'>[];
}): {
    status: MiningStatusE;
    firstStartTime: BigNumber | undefined;
    lastEndTime: BigNumber | undefined;
    currentTime: BigNumber;
};
export declare function computeDailyRewardByPerBlock(blockTime: number, rewardPerBlock: BigNumber | undefined): BigNumber | null;
export declare const getPreBlock: (blockTime: number, blockNumber: BigNumber, time: number | Date) => BigNumber;
export declare const getTimeByPreBlock: (blockTime: number, blockNumber: BigNumber, preBlockNumber: string | number | BigNumber) => dayjs.Dayjs;
/**
 * 一天预估产生多少区块
 */
export declare function getBlocksCountPerDay(chainId: ChainId): number;
export declare function getBlocksCountPerYear(chainId: number): number;
