import { ComponentMapNode } from '../../../../utils/generators/interface';
interface ItemPosition {
    x: number;
    y: number;
}
export interface CanvasPosition {
    x: number;
    y: number;
}
interface NodeWidthAndHeight {
    w: number;
    h: number;
}
interface CenterPointPosition {
    x: number;
    y: number;
}
export declare function calcRectCenterPointPosition(itemPosition: ItemPosition, canvasPosition: CanvasPosition, nodeWidthAndHeight: NodeWidthAndHeight): CenterPointPosition;
interface RectShape {
    rectTop: number;
    rectRight: number;
    rectBottom: number;
    rectLeft: number;
}
export declare function calcRectShapeByCenterPoint(centerPointPosition: CenterPointPosition, nodeWidthAndHeight: NodeWidthAndHeight): RectShape;
export interface LandingPosition {
    isOverstep: boolean;
    landingX: number;
    landingY: number;
    relativeLandingX: number;
    relativeLandingY: number;
}
export declare function calcLadingPosition(rectPosition: RectShape, unitWidth: number, unitHeight: number, canvasWidth: number, canvasHeight: number, canResizeY: boolean): LandingPosition;
export declare type RectangleType = {
    left: number;
    right: number;
    top: number;
    bottom: number;
};
export declare const sortComponentNodes: (componentNodes: ComponentMapNode[]) => ComponentMapNode[];
export declare const isCrossing: (otherNode: ComponentMapNode, mainNode: ComponentMapNode) => boolean;
export declare const isNearingAtY: (otherNode: ComponentMapNode, mainNode: ComponentMapNode) => boolean;
export declare const getCrossingNodeNewPosition: (currentNode: ComponentMapNode, allComponentNode: ComponentMapNode[]) => Map<string, ComponentMapNode>;
export declare const getNearingNodes: (currentNode: ComponentMapNode, allComponentNode: ComponentMapNode[]) => Map<string, ComponentMapNode>;
export declare const applyEffectMapToComponentNodes: (effectMap: Map<string, ComponentMapNode>, componentNodes: ComponentMapNode[]) => ComponentMapNode[];
export declare const getReflowResult: (currentNode: ComponentMapNode, allComponentNodes: ComponentMapNode[], exceptSelf?: boolean) => {
    effectResultMap: Map<string, ComponentMapNode>;
    finalState: ComponentMapNode[];
};
export declare const getNearComponentNodes: (currentNode: ComponentMapNode, allComponentNodes: ComponentMapNode[]) => Map<string, ComponentMapNode>;
export declare const isAddAction: (x: number, y: number, oldParentDisplayName: string | null, currentParentDisplayName: string) => boolean;
export declare function getMousePointerPosition(mouseOffsetX: number, mouseOffsetY: number, unitWidth: number, unitHeight: number, containerMaxWidthDotNumber: number): number[];
export {};
