import { NextLink, Operation, OperationResponse, RelayLink } from 'relay-link';
import { RelayObservable } from 'relay-runtime/lib/network/RelayObservable';
import { BatchHandler } from './batching';
export { OperationBatcher, BatchableRequest, BatchHandler } from './batching';
export declare namespace BatchLink {
    interface Options {
        batchInterval?: number;
        batchMax?: number;
        batchHandler: BatchHandler;
        batchKey?: (operation: Operation) => string;
    }
}
export declare class BatchLink extends RelayLink {
    private readonly batcher;
    constructor(options: BatchLink.Options);
    request(operation: Operation, forward?: NextLink): RelayObservable<OperationResponse>;
}
//# sourceMappingURL=batchLink.d.ts.map