import { Observable } from 'rxjs';
import { HttpClient } from '@angular/common/http';
import { ApolloLink } from '@apollo/client';
import { ExtractFiles, FetchOptions, OperationPrinter, RequestOptions } from './types';
import * as i0 from "@angular/core";
export declare namespace HttpLink {
    interface Options extends FetchOptions, RequestOptions {
        operationPrinter?: OperationPrinter;
        useGETForQueries?: boolean;
        extractFiles?: ExtractFiles;
    }
}
export declare class HttpLinkHandler extends ApolloLink {
    private readonly httpClient;
    private readonly options;
    requester: (operation: ApolloLink.Operation) => Observable<ApolloLink.Result>;
    private print;
    constructor(httpClient: HttpClient, options: HttpLink.Options);
    request(op: ApolloLink.Operation): Observable<ApolloLink.Result>;
}
export declare class HttpLink {
    private readonly httpClient;
    constructor(httpClient: HttpClient);
    create(options: HttpLink.Options): HttpLinkHandler;
    static ɵfac: i0.ɵɵFactoryDeclaration<HttpLink, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<HttpLink>;
}
