import { DocDatasource } from '../..';
import Vue from 'vue';
import { FeatureType, GraphPreset, NodeRule, PropertyType, GraphElement } from '@csnext/cs-data';
import { IMenu } from '@csnext/cs-core';
export default class GraphRuleEditor extends Vue {
    source: DocDatasource;
    activePreset: GraphPreset;
    rule: NodeRule;
    parent: NodeRule;
    availableRelations?: PropertyType[] | null;
    availableTypes?: FeatureType[] | null;
    private hover?;
    getRuleStyle(rule: NodeRule): any;
    items: IMenu[];
    addElement(rule: NodeRule): Promise<void>;
    toggleRule(rule: NodeRule): void;
    saveType(): void;
    getDocuments(): GraphElement[] | undefined;
    getIndicators(): GraphElement[] | undefined;
    getWorkspaces(): GraphElement[] | undefined;
    saveElement(): void;
    saveRelation(): void;
    updateTypes(): void;
    removeRule(): void;
    createIncommingTypeRule(): void;
    createOutgoingTypeRule(): void;
    createOutgoingRelationRule(): void;
    createIncommingRelationRule(): void;
    addFilter(): void;
    private updateMenu;
    mounted(): void;
    editStyle(): void;
    constructor();
}
