import { CSSProperties } from 'react'; import { MarkerShapeDimensions, MarkerShapeId } from './marker'; export type ConnectionInteractionPhase = "default" | "connecting" | "selected" | "disconnecting" | "disconnectingCritical"; export type ConnectionAdjacency = "self" | "adjacent"; export type ConnectionStripeStyle = { id: string; style: CSSProperties; }; export type ConnectionVisualAppearance = { phase: ConnectionInteractionPhase; adjacency: ConnectionAdjacency; path: { style: CSSProperties; }; stripes: readonly ConnectionStripeStyle[]; direction: { style: CSSProperties; }; arrowHead: { style: CSSProperties; shape: MarkerShapeId; dimensions: MarkerShapeDimensions; offset: number; }; }; export type ConnectionVisualAppearanceMap = Record>; export declare const CONNECTION_APPEARANCES: ConnectionVisualAppearanceMap; type ConnectionVisualInputs = { isDragging?: boolean; dragProgress: number; isSelected: boolean; isHovered: boolean; }; export declare const determineConnectionInteractionPhase: (input: ConnectionVisualInputs) => ConnectionInteractionPhase; export {};