import { WidgetBase } from '@csnext/cs-client';
import { GraphElement, LinkInfo } from '@csnext/cs-data';
import { PropertyType } from '@csnext/cs-data';
import { IFormOptions, IMenu } from '@csnext/cs-core';
import { DocDatasource } from '../../datasources/doc-datasource';
export declare class PropertyValue {
    key?: string;
    value?: string;
    propertyType?: PropertyType;
}
export default class ElementInfo extends WidgetBase {
    instancesCount: number;
    tabs: string[];
    tab: string;
    componentKey: number;
    history: string[];
    formDef: IFormOptions | null;
    props: PropertyValue[];
    isDocument?: boolean;
    private indicatorElements;
    private documentsWidget;
    private editorWidget;
    activeElement: GraphElement | null;
    private specialTab;
    private elementInfoTab;
    showContextMenu: boolean;
    contextMenuitems: IMenu[];
    updateIndicatorResults(): Promise<void>;
    constructor();
    updateTab(): void;
    get dataSource(): DocDatasource | undefined;
    openContextMenu(e: any): void;
    callContextAction(i: IMenu): Promise<void>;
    setLegend(p: any): void;
    updateEntity(): void;
    editFeatureType(): void;
    updateForm(): void;
    toggleBookmark(): void;
    deleteNode(): void;
    getColor(el: GraphElement): string;
    saveNode(): void;
    graphNode(): void;
    getIndicatorResults(): Promise<void>;
    getDocuments(): GraphElement<import("@csnext/cs-data").BaseElementProperties>[];
    getOriginal(): GraphElement | undefined;
    selectExternal(e: GraphElement): void;
    private updateEditor;
    private updateElement;
    openOriginal(): void;
    openDocument(id: string): void;
    getInstances(element: GraphElement): LinkInfo[];
    getLinks(element: GraphElement): LinkInfo[];
    selectElement(element: GraphElement): void;
    updateTabs(): void;
    mounted(): void;
}
