import { ApolloLink, Observable, Operation, FetchResult, NextLink } from "apollo-link";
/**
 * An Apollo link that enqueues mutations so that they cannot fire in parallel.
 *
 * To skip the queue pass `{ context: { skipQueue: true } }` to your mutation.
 */
export default class MutationQueueLink extends ApolloLink {
    private opQueue;
    private inProcess;
    private debug;
    /**
     * @param {Boolean} debug - set to true to enable logging
     */
    constructor({ debug }?: {
        debug?: boolean;
    });
    private log;
    private processOperation;
    private cancelOperation;
    private enqueue;
    request(operation: Operation, forward: NextLink): Observable<FetchResult> | null;
}
