import { Port, PortPlacement, AbsolutePortPlacement, PortPosition, AbsolutePositionUnit } from '../../../types/core'; /** * Type guard to check if placement is absolute positioning */ export declare const isAbsolutePlacement: (placement: PortPlacement | AbsolutePortPlacement | undefined) => placement is AbsolutePortPlacement; /** * Get side from placement, with fallback for absolute placements. * Note: For absolute placements, returns the fallback since direction is computed dynamically. */ export declare const getPlacementSide: (placement: PortPlacement | AbsolutePortPlacement, fallback?: PortPosition) => PortPosition; /** * Get side from port's placement or position field. * Note: For absolute placements, returns port.position as fallback since direction is computed dynamically. */ export declare const getPortSide: (port: Port) => PortPosition; /** * Safely get align value from placement (returns undefined for absolute placements) */ export declare const getPlacementAlign: (placement: PortPlacement | AbsolutePortPlacement | undefined) => number | undefined; /** * Safely get inset value from placement (returns false for absolute placements) */ export declare const getPlacementInset: (placement: PortPlacement | AbsolutePortPlacement | undefined) => boolean; /** * Safely get segment value from placement (returns undefined for absolute placements) */ export declare const getPlacementSegment: (placement: PortPlacement | AbsolutePortPlacement | undefined) => string | undefined; /** * Get the unit from an absolute placement (defaults to "px") */ export declare const getAbsoluteUnit: (placement: AbsolutePortPlacement) => AbsolutePositionUnit; /** * Check if absolute placement uses percentage units */ export declare const isPercentPlacement: (placement: AbsolutePortPlacement) => boolean; /** * Create an absolute placement with pixel units */ export declare const absolutePx: (x: number, y: number) => AbsolutePortPlacement; /** * Create an absolute placement with percentage units */ export declare const absolutePercent: (x: number, y: number) => AbsolutePortPlacement; /** * Normalize placement configuration to a consistent form. * Handles string positions, PortPlacement objects, and AbsolutePortPlacement objects. * * @param position - Position string, PortPlacement, or AbsolutePortPlacement (optional) * @returns Normalized PortPlacement or AbsolutePortPlacement (defaults to { side: "right" }) */ export declare const normalizePlacement: (position?: PortPosition | PortPlacement | AbsolutePortPlacement) => PortPlacement | AbsolutePortPlacement;