import { FusionSurfaceGeometry, FusionSurfaceGeometryInput } from './types'; /** Pinch at which a neck counts as broken: the waist is 1.5% of the bud's * half-width, about a pixel for a 160px bud. The component latches the split * there; a caller driving `fusionSurfacePath()` itself should too. */ export declare const FUSION_SURFACE_BREAK_PINCH = 0.985; /** * The default neck: nothing for the first quarter of `breakAt`, then the * square of a smoothstep, fully closed at `breakAt` (it snaps at about 96%). * * Squared, the curve starts with zero slope and zero curvature and stays * small until the neck has stretched about half of `breakAt`, then closes * quickly, the way a stretched liquid bridge gives way late. */ export declare function fusionSurfacePinch(detach: number, breakAt: number): number; /** * The surface as one SVG path `d`: the body (unless `includeBody` is false), * every attached bud or neck merged into the body's outline, and every drop * as its own closed subpath. Also returns where each attached shape meets the * body (`spans`) and each bud's current outer box (`rects`). * * Buds on one edge must not overlap. Out-of-range or non-finite numbers * degrade to not drawing the bud; the output never contains NaN or Infinity. */ export declare function fusionSurfacePath(input: FusionSurfaceGeometryInput): FusionSurfaceGeometry;