import React from 'react'; import { PageConfigType, ChildNodesType } from '@brickd/core'; export * from './caches'; import { VirtualDOMType } from '@brickd/utils'; export declare const SPECIAL_STRING_CONSTANTS: any; export declare function usePrevious(value: any): T; export declare const iframeSrcDoc = "\n\n\n\n
\n\n\n"; export declare const isEqualKey: (key: string, selectKey?: string | null) => boolean; export declare const getComponent: (componentName: string) => any; export declare const getSelectedNode: (key?: string | null) => HTMLElement | undefined; export declare const getNodeFromClassName: (className: string) => HTMLElement; export declare function setCss(target: HTMLElement, css: any): void; export declare function generateCSS(left?: number, top?: number, width?: number, height?: number): string; export declare function getElementInfo(element: any, isModal?: boolean): { width: any; height: any; left: any; top: any; bottom: any; right: any; }; export declare function getIsModalChild(pageConfig: PageConfigType, domTreeKeys?: string[]): boolean; export declare function setPosition(nodes: any[], isModal?: boolean): void; export declare function generateRequiredProps(componentName: string): any; export declare type PropParentNodes = { [propName: string]: HTMLElement; }; export declare const getNodeRealRect: (element: Element) => { left: number; right: number; top: number; bottom: number; height: number; width: number; realWidth: number; realHeight: number; }; export declare const getParentNodeRealRect: (parent: Element) => { left: number; right: number; top: number; bottom: number; height: number; width: number; realHeight: number; realWidth: number; }; export declare function getChildNodesRects(nodeRectsMapRef: any, childNodes: ChildNodesType, propParentNodes: PropParentNodes, isRest?: boolean): void; export interface RealRect { realWidth: number; realHeight: number; left: number; right: number; top: number; bottom: number; height: number; width: number; } export declare const placeholderBridgeStore: { prevRects: any; renderPlaceholder: any; changePosition(rects: PlaceholderPositionType): void; }; export declare type PlaceholderRect = { height?: number; left?: number; top?: number; width?: number; isEmptyChild?: boolean; }; export declare type PlaceholderPositionType = { node1?: PlaceholderRect; node2?: PlaceholderRect; node3?: PlaceholderRect; }; export declare type NodeRectsMapType = { [key: string]: RealRect; }; export declare const classNameTemplate = "brick-design"; export declare const getParentKeyNodes: (parent: Element, key: string) => HTMLCollectionOf; export declare const getParentKeyNodesRect: (parent: Element, key: string) => { left: number; right: number; top: number; bottom: number; height: number; width: number; realWidth: number; realHeight: number; } | { left?: undefined; top?: undefined; width?: undefined; height?: undefined; realWidth?: undefined; realHeight?: undefined; } | { left: number; top: number; width: number; height: number; realWidth: number; realHeight: number; }; export declare const dragSort: (compareChildren: string[], parentNode: Element, dragOffset: DragEvent) => any[]; export declare const getPropParentNodes: (childNodes: ChildNodesType, parentNodes: PropParentNodes, index?: number) => void; /** * 获取拖拽组件的key */ export declare const getDragKey: () => any; /** * 获取拖放组件的key */ export declare const getDropKey: () => string; /** * 从拖拽源中获取指定的属性值 * @param propName * @param defaultValue */ export declare const getDragSourceFromKey: (propName: string, defaultValue?: any) => any; /** * 获取拖拽组件的组件名 * @param dragKey */ export declare const getDragComponentName: (dragKey?: string) => any; /** * 获取指定key 的虚拟dom * @param nodeKey */ export declare const getVNode: (nodeKey: string) => VirtualDOMType; export declare function css(el: any): CSSStyleDeclaration; export declare const EXCLUDE_POSITION: string[]; export declare const CSSFloatProperty: string; export declare function isVertical(el: any): boolean; export declare const isNeedJudgeFather: (dragKey?: string) => boolean; export declare const isAllowDrop: (childNodesRule?: string[]) => boolean; export declare function isAllowAdd(targetComponentName: string, dragKey?: string): boolean; export declare function getScalePosition(canvas: HTMLElement, canvasContainer: HTMLElement, scale: number): { width: number; height: number; top: number; left: number; }; export declare const firstToUpper: (str: string) => string; export declare const changeElPositionAndSize: (el: HTMLElement, css: any) => void; /** * 解析matrix矩阵,0°-360°,返回旋转角度 * 当a=b||-a=b,0<=deg<=180 * 当-a+b=180,180<=deg<=270 * 当a+b=180,270<=deg<=360 * * 当0<=deg<=180,deg=d; * 当180 { top: number; left: number; }; export declare const getRootState: () => import("@brickd/core").BrickDesignStateType; export declare function getDragAngle(event: React.MouseEvent | MouseEvent, centerX: number, centerY: number): number; export declare function getDegToRad(transform: string): number; export declare function getFatherRotate(selectedNode: any, rotate?: number): any; export declare const getTransform: (Transform: string, fatherRotate: number) => string;