import { WidgetBase } from '@csnext/cs-client';
import { GraphObject, GraphElement, FilterGraphElement, FeatureType } from '@csnext/cs-data';
import { IMenu } from '@csnext/cs-core';
import { GraphData, LayoutConfig } from '@antv/g6';
import { GraphWidgetOptions, DocDatasource } from '../..';
export default class NetworkGraph extends WidgetBase {
    data: GraphData;
    private showTabs;
    private showMenu;
    private x;
    private y;
    private tab;
    pinMenu: boolean;
    activePreset?: FilterGraphElement | null;
    dragInitialized: boolean;
    edgeTypes: FeatureType[] | null;
    defaultEdgeType: FeatureType | null;
    private activeElement;
    followNode: GraphElement | null;
    targetNode: GraphElement | null;
    dropEnabled: boolean;
    private graph?;
    get source(): DocDatasource | undefined;
    tabChanged(): void;
    calculateRoutes(): void;
    followedSources: string[];
    followedTargets: string[];
    followTarget(nodeId: string, level: number): void;
    followSource(nodeId: string, level: number): void;
    private settingsUpdatedDebounce;
    private viewportDebounce;
    toggleFeatureType(id: string): void;
    dropOptions: {
        group: string;
        enabled: boolean;
    };
    availableItems: {
        group: {
            name: string;
            pull: string;
            put: boolean;
        };
        sort: boolean;
    };
    openSettings(): void;
    contextMenuitems: any[];
    settingsChanged(): void;
    setEditorMode(mode: string): void;
    graphChanged(): void;
    settingsUpdated(): void;
    constructor();
    updateMenu(menu: IMenu): void;
    private getNodeColor;
    private updateNode;
    private updatePropEdge;
    private updateEdge;
    fitGraph(): void;
    private fittingString;
    getLayout(): LayoutConfig | undefined;
    addElement(e: GraphElement): boolean;
    emptyStats(): void;
    updateGraph(graph?: GraphObject, redraw?: boolean): void;
    private loaded;
    updateGraphLayout(): void;
    initDefaultEdgeTypes(): void;
    contentLoaded(): void;
    private getElementCard;
    refresh(): void;
    private debugBase64;
    downloadGraph(): void;
    refreshDragedNodePosition(e: any): void;
    updateContextMenu(a: any): void;
    updateSearchFilter(): void;
    getNodeStyle(): {
        type?: undefined;
        size?: undefined;
        style?: undefined;
        stateStyles?: undefined;
        labelCfg?: undefined;
    } | {
        type: string;
        size: number;
        style: {
            fill: string;
            keepVisualSize: boolean;
            lineWidth: number;
        };
        stateStyles: {
            source: {
                lineWidth: number;
                stroke: string;
            };
            target: {
                lineWidth: number;
                stroke: string;
            };
            sourcetarget: {
                stroke: string;
                lineWidth: number;
                opacity: number;
            };
        };
        labelCfg: {
            position: string;
            autoRotate: boolean;
            style: {
                fill: string;
                fontSize: number;
            };
        };
    };
    registerShapes(): void;
    getMDIFont(icon: string): string;
    registerChart(): void;
    get options(): GraphWidgetOptions;
    initPreset(): void;
    initGraph(reset?: boolean): Promise<void>;
    save(): void;
    resize(): void;
    emptyGraph(): void;
    onDrop(e: any, d: any, s: any): Promise<void>;
    beforeDestroy(): void;
    getQueryNumber(v: string, defaultValue?: number): number | undefined;
    restoreCanvas(): void;
    mounted(): void;
}
