/**
 * Per-frame animation and DOM write-back. The solver produces a target box
 * center; the animated center eases toward it (framerate-independent), and the
 * eased position is written to the label as a scale-corrected local transform
 * plus leader-line endpoints — the same coordinate handling the old engine used.
 */
import type { LabelNode } from './types';
/**
 * Ease `node`'s animated center toward its target. Returns true while still
 * moving, false once arrived (and snapped). `delta` is seconds, pre-clamped by
 * the engine so a long idle gap can't produce an overshoot.
 */
export declare function lerpStep(node: LabelNode, delta: number, settleEps: number): boolean;
/**
 * Write the eased position to the DOM. The label island is positioned at the dot
 * by Threlte's <HTML>, so we work in island-local px: convert the viewport-space
 * offset by the island's CSS scale, place the text box, and draw the leader from
 * the dot's island-local position to the box center.
 */
export declare const writeBack: (node: LabelNode) => void;
