import { GraphicNode } from "../../../graphics/index";
import { AppEventContext } from "../../../app/index";
import { UpdateNodeData } from "../../../action/index";
import { IPoint } from "../../../idl/index";
import { ConnectInfo } from "../../../graphics/base/NodeConnectEndType";
import type { OolongLine } from "../../../graphics/index";
export declare abstract class AbsLineLayoutHandler {
    abstract enable(line: OolongLine): boolean;
    handle(line: OolongLine, ctx: AppEventContext): UpdateNodeData;
    abstract layoutToPoints(line: OolongLine, ctx: AppEventContext): IPoint[];
    abstract layoutToPointsPro(start: ConnectInfo, end: ConnectInfo): IPoint[];
    protected getNodePos(node: GraphicNode, { x, y }: IPoint): IPoint;
    protected getUpdateNodeData(lineId: string, points: IPoint[]): UpdateNodeData;
}
//# sourceMappingURL=AbsLineLayoutHandler.d.ts.map