import { Edge, Node, Position } from '@xyflow/react';
import { LayoutDirection } from '../context/LayoutContext';
import { Direction } from '../core/HierarchicalLayoutOrganizer';
/**
 * Convert direction from our API format to the format expected by layout engines
 */
export declare const convertDirection: (dir: LayoutDirection) => Direction;
export declare const convertDirectionToLayout: (dir: Direction) => LayoutDirection;
/**
 * Update node handle positions based on current direction
 */
export declare const updateHandlePositions: (nodes: Node[], direction: LayoutDirection) => Node[];
/**
 * Default parent resizing options
 */
export declare const DEFAULT_PARENT_RESIZING_OPTIONS: {
    enabled: boolean;
    padding: {
        horizontal: number;
        vertical: number;
    };
    respectHeaderHeight: boolean;
    minWidth: number;
    minHeight: number;
};
export declare const getSourcePosition: (direction: LayoutDirection) => Position;
export declare const getTargetPosition: (direction: LayoutDirection) => Position;
/**
 * Utility to filter visible nodes and edges based on the layoutHidden flag.
 * If layoutHidden is false, only visible nodes/edges are included.
 * If layoutHidden is true, all nodes/edges are included.
 */
export declare function filterVisibleNodesAndEdges(nodes: Node[], edges: Edge[], layoutHidden: boolean): {
    nodes: Node[];
    edges: Edge[];
};
