import BranchParentAlignment from "./BranchParentAlignment"; import LayoutState from "./LayoutState"; import Node from "./Node"; import LayoutLevel from "./LayoutLevel"; import ConnectorAlignment from "./ConnectorAlignment"; export default abstract class LayoutStrategyBase { ConnectorAlignment: ConnectorAlignment; ConnectorThickness: number; ParentAlignment: BranchParentAlignment; ParentChildSpacing: number; ParentConnectorShield: number; SiblingSpacing: number; ChildConnectorHookLength: number; get SupportsAssistants(): boolean; abstract GetSupportsAssistants(): boolean; abstract PreProcessThisNode(state: LayoutState, node: Node): void; abstract ApplyVerticalLayout(state: LayoutState, level: LayoutLevel): void; abstract ApplyHorizontalLayout(state: LayoutState, level: LayoutLevel): void; abstract RouteConnectors(state: LayoutState, node: Node): void; }