import { Observable } from "rxjs";
import { BatchLink } from "@apollo/client/link/batch";
import type { FetchResult, Operation } from "@apollo/client/link/core";
import { ApolloLink } from "@apollo/client/link/core";
import type { HttpOptions } from "@apollo/client/link/http";
export declare namespace BatchHttpLink {
    type Options = Pick<BatchLink.Options, "batchMax" | "batchDebounce" | "batchInterval" | "batchKey"> & Omit<HttpOptions, "useGETForQueries">;
}
/**
 * Transforms Operation for into HTTP results.
 * context can include the headers property, which will be passed to the fetch function
 */
export declare class BatchHttpLink extends ApolloLink {
    private batchDebounce?;
    private batchInterval;
    private batchMax;
    private batcher;
    constructor(fetchParams?: BatchHttpLink.Options);
    request(operation: Operation): Observable<FetchResult> | null;
}
//# sourceMappingURL=batchHttpLink.d.ts.map
