import { EventEmitter } from '@angular/core';
import { DependencyEditorTokenProvider } from './depeditor-tokenprovider';
import { URLProvider } from './url-provider';
import { Subject } from 'rxjs/Subject';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
import 'rxjs/operators/map';
import 'rxjs/add/observable/fromPromise';
import { ComponentInformationModel, CveResponseModel, DependencySearchItem, EventDataModel, ErrorUIModel, LicenseUIModel } from '../model/data.model';
import { HttpInterceptor } from '../shared/http-interceptor';
export declare class DependencyEditorService {
    private http;
    private tokenProvider;
    private urlProvider;
    dependencySelected: EventEmitter<DependencySearchItem>;
    dependencyRemoved: EventEmitter<EventDataModel>;
    licenseSubscription: Subject<LicenseUIModel | ErrorUIModel>;
    needsLicenseChange: Subject<boolean>;
    securitySubscription: Subject<CveResponseModel | ErrorUIModel>;
    needsSecurityChange: Subject<boolean>;
    cacheHiddenDependency: Array<any>;
    private RECOMMENDER_API_BASE;
    private LICENSE_API_BASE;
    private URLS_HASH;
    constructor(http: HttpInterceptor, tokenProvider: DependencyEditorTokenProvider, urlProvider: URLProvider);
    postStackAnalyses(githubUrl: string, githubRef: string): Observable<any>;
    getStackAnalyses(stackId: string): Observable<any>;
    getDependencies(component: string): Observable<any>;
    getDependencyData(type: string, payload: string): Observable<any>;
    getCategories(runtime: string): Observable<any>;
    updateDependencyAddedSnapshot(depObj: EventDataModel): void;
    getPayload(): any;
    removeDependency(dependency: ComponentInformationModel): void;
    private readonly options;
    private extractData(res);
    private checkForTrailingSlashes(url);
}
