import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ApolloQueryResult } from '@apollo/client/core';
import { ApiPredicate, TaurusBaseApiService } from '@versatiledatakit/shared';
import { DataJob, DataJobDeploymentDetails, DataJobDetails, DataJobExecutionDetails, DataJobExecutionFilter, DataJobExecutionOrder, DataJobExecutionsPage, DataJobPage, DataPipelinesConfig } from '../model';
import { DataJobsBaseApiService } from './data-jobs-base.api.service';
import * as i0 from "@angular/core";
export declare class DataJobsApiService extends TaurusBaseApiService<DataJobsApiService> {
    private readonly dataPipelinesConfig;
    private readonly http;
    private readonly dataJobsBaseService;
    /**
     * @inheritDoc
     */
    static readonly CLASS_NAME: string;
    /**
     * @inheritDoc
     */
    static readonly PUBLIC_NAME: string;
    ownerTeamName: string;
    constructor(dataPipelinesConfig: DataPipelinesConfig, http: HttpClient, dataJobsBaseService: DataJobsBaseApiService);
    getJobs(filters: ApiPredicate[], searchQueryValue: string, pageNumber: number, pageSize: number): Observable<ApolloQueryResult<DataJobPage>>;
    getJob(teamName: string, jobName: string): Observable<DataJob>;
    getJobDetails(teamName: string, jobName: string): Observable<DataJobDetails>;
    removeJob(teamName: string, jobName: string): Observable<DataJobDetails>;
    downloadFile(teamName: string, jobName: string): Observable<Blob>;
    getJobExecutions(teamName: string, jobName: string): Observable<DataJobExecutionDetails[]>;
    getJobExecutions(teamName: string, jobName: string, forceGraphQL: boolean, filter?: DataJobExecutionFilter, order?: DataJobExecutionOrder, pageNumber?: number, pageSize?: number): Observable<DataJobExecutionsPage>;
    getJobExecution(teamName: string, jobName: string, executionId: string): Observable<DataJobExecutionDetails>;
    getJobDeployments(teamName: string, jobName: string): Observable<DataJobDeploymentDetails[]>;
    updateDataJobStatus(teamName: string, jobName: string, deploymentId: string, dataJobEnabled: boolean): Observable<{
        enabled: boolean;
    }>;
    updateDataJob(teamName: string, jobName: string, dataJob: DataJobDetails): Observable<DataJobDetails>;
    executeDataJob(teamName: string, jobName: string, deploymentId: string): Observable<undefined>;
    cancelDataJobExecution(teamName: string, jobName: string, executionId: string): Observable<any>;
    private _resolvePipelinesServiceUrl;
    private _createTeamJobNameFilter;
    private _validateModuleConfig;
    static ɵfac: i0.ɵɵFactoryDeclaration<DataJobsApiService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DataJobsApiService>;
}
