import { Web3Client } from '../clients/Web3Client'; export declare class BlockDateResolver { client: Web3Client; private AVG_INITIAL; private _known; private _requestedDate; constructor(client: Web3Client); getDate(blockNumber: number): Promise; getBlockNumberFor(date: Date): Promise; getBlockInfoFor(date: Date): Promise<{ block: number; timestamp: number; }>; private moveNext; /** * Returns index of the first known block, which is most near to specified block (it can be before or after the specified date). */ private getClosest; private checkPoint; /** Add a know block to set */ private push; /** Loads the block and gets the Date of the block */ private getBlockDate; /** Returns SIGNED time in milliseconds between two dates. Negative values when t2 < t1 */ private diffTime; /** Returns ABSOLUTE time in milliseconds between two dates. */ private diffTimeAbs; /** Returns AVG block count between two dates */ private getAvgBlockCountBetween; /** With N>1 blocks we can better find out the AVG block time */ private refineAvg; private getBlock; }