import { BaseNodeModel, Model } from '@logicflow/core'; import BoxBoundsPoint = Model.BoxBoundsPoint; /** * * @param bounds * @param group */ export declare function isBoundsInGroup(bounds: BoxBoundsPoint, group: BaseNodeModel): boolean; /** * 判断 bounds 是否可以移动到下一个范围 * @param groupBounds * @param node * @param deltaX * @param deltaY */ export declare function isAllowMoveTo(groupBounds: BoxBoundsPoint, node: BaseNodeModel, deltaX: number, deltaY: number): { x: boolean; y: boolean; }; /** * 计算直接子节点的 bounds 并集。 * 无有效子节点时返回 null。 */ export declare function getChildrenBounds(groupModel: { children?: Set; }, getNodeById: (id: string) => BaseNodeModel | undefined): BoxBoundsPoint | null; /** * 判断 groupBounds 是否完全包含 childrenBounds。 */ export declare function isGroupBoundsContainsChildren(groupBounds: BoxBoundsPoint, childrenBounds: BoxBoundsPoint): boolean; /** 折叠按钮距节点顶边/左边的默认 inset,与 node.getOperateIcon 一致 */ export declare const DG_OPERATE_INSET = 10; /** @deprecated 使用 DG_OPERATE_INSET */ export declare const DG_OPERATE_INSET_TOP = 10; export declare const DG_OPERATE_BTN_WIDTH = 14; export declare const DG_OPERATE_BTN_HEIGHT = 12; /** 左对齐时推荐用于避开 operator 的 wrapPadding.left(inset + btn + inset) */ export declare const DG_TITLE_LEFT_CLEARANCE: number; export declare const DEFAULT_TITLE_WRAP_PADDING = "0,0,0,0"; export declare const DEFAULT_TITLE_TEXT_ALIGN = "center"; export type TitleBand = { bandLeft: number; bandTop: number; bandWidth: number; bandHeight: number; }; export type TitleForeignObjectRect = { foX: number; foY: number; foWidth: number; foHeight: number; }; export declare function getTitleBand(options: { x: number; y: number; width: number; height: number; }): TitleBand; export declare function resolveTitleTextPosition(options: { x: number; y: number; width: number; height: number; textAlign: string; pad: ReturnType; }): { x: number; y: number; }; export declare function getTitleForeignObjectRect(options: { x: number; y: number; width: number; height: number; overflowMode: 'autoWrap' | 'ellipsis'; fontSize: number; pad: ReturnType; }): TitleForeignObjectRect; export declare function parseWrapPadding(padding?: string | number | null): { top: number; right: number; bottom: number; left: number; }; export declare function textAlignToAnchor(textAlign?: string): 'start' | 'middle' | 'end'; export declare function isHtmlTextOverflow(overflowMode?: string): boolean; /** LogicFlow 存储格式 `15,8,4,8` → CSS padding `15px 8px 4px 8px` */ export declare function formatWrapPaddingCss(padding?: string | number | null): string;