import { Observable } from 'rxjs'; import { HttpClient } from '@angular/common/http'; import { ApolloLink } from '@apollo/client'; import type { HttpLink } from './http-link'; import { Context } from './types'; import { prioritize } from './utils'; import * as i0 from "@angular/core"; export declare namespace HttpBatchLink { type Options = { batchMax?: number; batchInterval?: number; batchKey?: (operation: ApolloLink.Operation) => string; } & HttpLink.Options; } export declare const defaults: { readonly batchInterval: 10; readonly batchMax: 10; readonly uri: "graphql"; readonly method: "POST"; readonly withCredentials: false; readonly includeQuery: true; readonly includeExtensions: false; readonly useMultipart: false; }; /** * Decides which value to pick from Context, Options or defaults */ export declare function pick>(context: Context, options: HttpBatchLink.Options, key: K): ReturnType>; export declare class HttpBatchLinkHandler extends ApolloLink { private readonly httpClient; private readonly options; batcher: ApolloLink; private batchInterval; private batchMax; private print; constructor(httpClient: HttpClient, options: HttpBatchLink.Options); private createOptions; private createBody; private createHeaders; private createHttpContext; private createBatchKey; request(op: ApolloLink.Operation, forward: ApolloLink.ForwardFunction): Observable; } export declare class HttpBatchLink { private readonly httpClient; constructor(httpClient: HttpClient); create(options: HttpBatchLink.Options): HttpBatchLinkHandler; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }