import { StateParams, StateService, UIRouter } from '@uirouter/core';
import { IQService, IScope } from 'angular';
import { CacheInitializerService } from '../cache/cacheInitializer.service';
import { ProviderServiceDelegate } from '../cloudProvider/providerService.delegate';
import { ClusterService } from '../cluster/cluster.service';
import { ImageReader } from '../image/image.reader';
import { InsightFilterStateModel } from '../insight/insightFilterState.model';
import { InstanceTypeService, InstanceWriter } from '../instance';
import { OverrideRegistry } from '../overrideRegistry/override.registry';
import { PageTitleService } from '../pageTitle';
import { ManualJudgmentService } from '../pipeline/config/stages/manualJudgment/manualJudgment.service';
import { ExecutionDetailsSectionService } from '../pipeline/details/executionDetailsSection.service';
import { ExecutionService } from '../pipeline/service/execution.service';
import { InfrastructureSearchService } from '../search/infrastructure/infrastructureSearch.service';
import { SecurityGroupReader } from '../securityGroup/securityGroupReader.service';
import { ServerGroupWriter } from '../serverGroup/serverGroupWriter.service';
import { StateEvents } from './state.events';
import IInjectorService = angular.auto.IInjectorService;
export declare abstract class ReactInject {
    protected $injector: IInjectorService;
    abstract initialize($injector: IInjectorService): void;
}
export declare class CoreReactInject extends ReactInject {
    private wrappedState;
    get $state(): StateService;
    get $q(): IQService;
    get $rootScope(): IScope;
    get $stateParams(): StateParams;
    get $uiRouter(): UIRouter;
    get cacheInitializer(): CacheInitializerService;
    get clusterService(): ClusterService;
    get executionDetailsSectionService(): ExecutionDetailsSectionService;
    get executionService(): ExecutionService;
    get imageReader(): ImageReader;
    get infrastructureSearchService(): InfrastructureSearchService;
    get insightFilterStateModel(): InsightFilterStateModel;
    get instanceTypeService(): InstanceTypeService;
    get instanceWriter(): InstanceWriter;
    get manualJudgmentService(): ManualJudgmentService;
    get overrideRegistry(): OverrideRegistry;
    get pageTitleService(): PageTitleService;
    get providerServiceDelegate(): ProviderServiceDelegate;
    get securityGroupReader(): SecurityGroupReader;
    get serverGroupWriter(): ServerGroupWriter;
    get stateEvents(): StateEvents;
    private createStateService;
    initialize($injector: IInjectorService): void;
}
export declare const ReactInjector: CoreReactInject;
