import { Block, GetOptions, IterOptions } from '@neo-one/client-common'; import { Monitor } from '@neo-one/monitor'; interface Client { readonly getBlockCount: (monitor?: Monitor) => Promise; readonly getBlock: (index: number, options?: GetOptions) => Promise; } interface AsyncBlockIteratorOptions { readonly client: Client; readonly options: IterOptions; readonly fetchTimeoutMS?: number; readonly batchSize?: number; } export declare class AsyncBlockIterator implements AsyncIterator { private readonly client; private readonly mutableItems; private mutableResolvers; private mutableDone; private mutableCurrentIndex; private mutableFetching; private mutableStartHeight; private readonly indexStop; private readonly fetchTimeoutMS; private readonly batchSize; private readonly monitor; constructor({ client, options: { indexStart, indexStop, monitor }, fetchTimeoutMS, batchSize, }: AsyncBlockIteratorOptions); [Symbol.asyncIterator](): this; next(): Promise>; private write; private error; private push; private done; private fetch; private asyncFetch; private fetchOne; } export {};