import { Component } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; import { Observable } from 'rxjs/Observable'; import { ConfigService } from '../../core'; import { Tool } from './tool.interface'; export declare class ToolService { private http; private config; static toolDefs: { [key: string]: [Tool, Component]; }; tools$: BehaviorSubject<{ [key: string]: Tool; }>; toolHistory$: BehaviorSubject; selectedTool$: BehaviorSubject; private baseUrl; static register(tool: Tool, cls?: Component): void; constructor(http: HttpClient, config: ConfigService); get(): Observable; setTools(tools: Tool[]): void; getTool(name: string): Tool; getToolClass(name: string): Component; selectTool(tool: Tool, force?: boolean): void; selectPreviousTool(): void; unselectTool(): void; private handleToolsChange(); } export declare function Register(toolDef: Tool): (cls: any) => void;