import { BlockFetcherBase } from './blockfetcherbase.ts'; import type { Block } from '@ethereumjs/block'; import type { Peer } from '../../net/peer/index.ts'; import type { BlockFetcherOptions, JobTask } from './blockfetcherbase.ts'; import type { Job } from './types.ts'; /** * Implements an eth/66 based block fetcher * @memberof module:sync/fetcher */ export declare class BlockFetcher extends BlockFetcherBase { /** * Create new block fetcher */ constructor(options: BlockFetcherOptions); /** * Requests blocks associated with this job * @param job */ request(job: Job): Promise; /** * Process fetch result * @param job fetch job * @param result fetch result * @returns results of processing job or undefined if job not finished */ process(job: Job, result: Block[]): Block[] | undefined; /** * Store fetch result. Resolves once store operation is complete. * @param blocks fetch result */ store(blocks: Block[]): Promise; /** * Returns an idle peer that can process a next job. */ peer(): Peer | undefined; } //# sourceMappingURL=blockfetcher.d.ts.map