import { EventEmitter, OnChanges, ElementRef } from '@angular/core';
import { BaseWidget } from '../BaseWidget/BaseWidget.component';
import { NetworkDiagramConfig, ElementData, LineData, ReturnData, LightNode } from './helper-classes';
import { DisplayStateService } from '../../../services/DisplayStateService';
import { AppStateService } from '../../../services/AppStateService';
import { WebPlatformApiService } from '../../../services/WebPlatformApiService';
import { ClientSettingsService } from '../../../services/ClientSettingsService';
export declare class NetworkDiagramComponent extends BaseWidget implements OnChanges {
    protected element: ElementRef;
    protected clientSettingsService: ClientSettingsService;
    protected displayStateService: DisplayStateService;
    protected appStateService: AppStateService;
    protected webPlatformApiService: WebPlatformApiService;
    rootNode: LightNode;
    nodeSelect: EventEmitter<LightNode>;
    svgHeight: number;
    canvas: HTMLCanvasElement;
    config: NetworkDiagramConfig;
    rectangles: ElementData[];
    lines: LineData[];
    constructor(element: ElementRef, clientSettingsService: ClientSettingsService, displayStateService: DisplayStateService, appStateService: AppStateService, webPlatformApiService: WebPlatformApiService);
    onInitialize(): void;
    RectangleFactory(node: LightNode): ElementData;
    selectNode(node: LightNode): void;
    CreateRectangles(node: LightNode, rect: ElementData[], lines: LineData[], top: number, left: number): ReturnData;
    getTextWidth(text: any, font: any): number;
    ngOnChanges(): void;
}
