import { Provider, Block as EthersBlock } from "@ethersproject/abstract-provider";
import { BlockFinder, type Block, type BlockFinderOpts as Opts, type BlockTimeAverage, type BlockFinderHints } from "../../utils/BlockFinder";
interface EVMBlock extends Block, EthersBlock {
}
export declare function averageBlockTime(provider: Provider, { highBlock, highBlockOffset, blockRange }?: Opts): Promise<Pick<BlockTimeAverage, "average" | "blockRange">>;
export declare class EVMBlockFinder extends BlockFinder<EVMBlock> {
    private readonly provider;
    private readonly blocks;
    constructor(provider: Provider, blocks?: EVMBlock[]);
    getBlockForTimestamp(timestamp: number | string, hints?: BlockFinderHints): Promise<EVMBlock>;
    private getLatestBlock;
    private getBlock;
    private findBlock;
}
export {};
