import { EventEmitter, OnDestroy, OnInit } from '@angular/core'; import { LayerService } from '../layer-service/layer-service.service'; import { ComputationCache } from '../computation-cache/computation-cache.service'; import { CesiumProperties } from '../cesium-properties/cesium-properties.service'; import { AcEntity } from '../../models/ac-entity'; import { BasicDrawerService } from '../drawers/basic-drawer/basic-drawer.service'; import { IDescription } from '../../models/description'; export interface OnDrawParams { acEntity: AcEntity; entityId: string; cesiumEntity: any; } /** * the ancestor class for creating components. * extend this class to create desc component. */ export declare class BasicDesc implements OnInit, OnDestroy, IDescription { protected _drawer: BasicDrawerService; protected _layerService: LayerService; protected _computationCache: ComputationCache; protected _cesiumProperties: CesiumProperties; props: any; onDraw: EventEmitter; onRemove: EventEmitter; protected _cesiumObjectsMap: Map; private _propsEvaluateFn; private _propsAssignerFn; constructor(_drawer: BasicDrawerService, _layerService: LayerService, _computationCache: ComputationCache, _cesiumProperties: CesiumProperties); protected _propsEvaluator(context: Object): any; protected _getPropsAssigner(): (cesiumObject: Object, desc: Object) => Object; getLayerService(): LayerService; setLayerService(layerService: LayerService): void; ngOnInit(): void; getCesiumObjectsMap(): Map; draw(context: any, id: string, entity: AcEntity): void; remove(id: string): void; removeAll(): void; ngOnDestroy(): void; }