import { Request } from './networkInterface'; import { ExecutionResult } from 'graphql'; export interface QueryFetchRequest { request: Request; promise?: Promise; resolve?: (result: ExecutionResult) => void; reject?: (error: Error) => void; } export declare class QueryBatcher { queuedRequests: QueryFetchRequest[]; private batchInterval; private batchMax; private batchFetchFunction; constructor({batchInterval, batchMax, batchFetchFunction}: { batchInterval: number; batchMax?: number; batchFetchFunction: (request: Request[]) => Promise; }); enqueueRequest(request: Request): Promise; consumeQueue(): (Promise | undefined)[] | undefined; private scheduleQueueConsumption(); }