import { AfterViewInit } from '@angular/core';
import { BaseLayoutBehavior } from "./base-layout-behavior";
import { FlowModuleComponent } from "../flow-module";
import { MatDialog, MatDialogRef } from "@angular/material";
import { FlowManagerComponent } from "../flow-manager";
import { FlowConfig } from '@lowcodeunit/core';
import { jsPlumbToolkitComponent } from '../../svc/jsplumbtoolkit-angular';
export declare class FlowLayoutBehavior extends BaseLayoutBehavior implements AfterViewInit {
    dialog: MatDialog;
    protected mgrDialog: MatDialogRef<FlowManagerComponent>;
    protected flowId: any;
    ToolkitComponent: jsPlumbToolkitComponent;
    onResize(event: any): void;
    constructor(dialog: MatDialog);
    ngAfterViewInit(): void;
    AfterViewInit(registerDroppables: boolean, droppablesParent: string, droppablesSelector: string): void;
    AuditConnections(): void;
    BeforeConnect(ctx: FlowLayoutBehavior, source: any, target: any, edgeData: any, repressErrors: boolean): boolean;
    BeforeStartConnect(ctx: FlowLayoutBehavior, node: any, edgeType: string): boolean;
    BeforeStartDetach(ctx: FlowLayoutBehavior, source: any, target: any, edge: any): boolean;
    ConnectionClick(ctx: FlowLayoutBehavior, params: any): void;
    EdgeAdded(ctx: FlowLayoutBehavior, params: any): void;
    EdgeMoved(ctx: FlowLayoutBehavior, edge: any, oldTarget: any, newTarget: any): void;
    ExportFlow(flow: FlowConfig): any;
    MapExistingFlow(flow: FlowConfig): void;
    NodeFactory(ctx: FlowLayoutBehavior, type: string, data: any, callback: Function): void;
    NodeResolver(typeId: string): typeof FlowModuleComponent;
    RemoveEdge(ctx: FlowLayoutBehavior, edge: any): void;
    ToggleSelection(ctx: FlowLayoutBehavior, node: any): void;
    UpdateSettings(nodeId: string, settings: any): void;
    protected newToken(): string;
    protected setCanvasHeight(): void;
}
