import { type RefObject } from "react"; import type { StickFrameGeometry } from "./stickFrame"; import type { StickTweenHandle } from "./useStickTween"; export type StickAnimationRefs = Readonly<{ surfaceRef: RefObject; lineRef: RefObject; dotRef: RefObject; }>; /** * Per-frame applier. Subscribes refs to the tween and writes the current * geometry-derived placement on every animation frame plus every layout * commit. `geometry` is captured by ref so prop-driven layout changes (size * tier, angle) take effect immediately. * * The container is anchor-zero (its width/height are 0 and its position is * the geographic anchor itself), so the previous "shrink to circle while * resting / expand to envelope while animating" container-size dance is no * longer needed and `useStickFrameSync` is now the only animation hook the * marker needs. */ export declare const useStickFrameSync: (tween: StickTweenHandle, geometry: StickFrameGeometry) => StickAnimationRefs;