import { Observable } from 'rxjs';
import { ApolloQueryResult } from '@apollo/client/core';
import { Apollo, QueryRef } from 'apollo-angular';
import { HttpLink } from 'apollo-angular/http';
import { TaurusBaseApiService } from '@versatiledatakit/shared';
import { DataJobExecutionsPage, DataJobExecutionsReqVariables, DataJobPage, DataJobReqVariables, DataPipelinesConfig } from '../model';
import * as i0 from "@angular/core";
/**
 * ** Data Jobs Service build on top of Apollo gql client.
 */
export declare class DataJobsBaseApiService extends TaurusBaseApiService<DataJobsBaseApiService> {
    private readonly dataPipelinesConfig;
    private readonly apollo;
    private readonly httpLink;
    /**
     * @inheritDoc
     */
    static readonly CLASS_NAME: string;
    /**
     * @inheritDoc
     */
    static readonly PUBLIC_NAME: string;
    private static readonly APOLLO_METHOD;
    private static readonly APOLLO_DEFAULT_OPTIONS;
    /**
     * ** Constructor.
     */
    constructor(dataPipelinesConfig: DataPipelinesConfig, apollo: Apollo, httpLink: HttpLink);
    /**
     * ** Get all DataJobs for provided OwnerTeam and load data based on provided gqlQuery.
     */
    getJobs(ownerTeam: string, gqlQuery: string, variables: DataJobReqVariables): Observable<ApolloQueryResult<DataJobPage>>;
    /**
     * ** Create Apollo watcher for gqlQuery.
     */
    watchForJobs(ownerTeam: string, gqlQuery: string, variables: DataJobReqVariables): QueryRef<DataJobPage, DataJobReqVariables>;
    /**
     * ** Get all DataJob Executions for provided OwnerTeam and load data based on provided gqlQuery.
     */
    getExecutions(ownerTeam: string, gqlQuery: string, variables: DataJobExecutionsReqVariables): Observable<ApolloQueryResult<DataJobExecutionsPage>>;
    private getApolloClientFor;
    private _resolvePipelinesServiceUrl;
    static ɵfac: i0.ɵɵFactoryDeclaration<DataJobsBaseApiService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DataJobsBaseApiService>;
}
