/** * The per-end anchor lock of a link, as transferred between diagrams. `frozen` * is the side captured when the user locked the anchor; it is only meaningful * while `locked` is true. */ export interface AnchorLockState { source_side_locked: boolean; source_side_frozen: S | undefined; target_side_locked: boolean; target_side_frozen: S | undefined; } /** * Derive the lock state a destination link should take from its layout source. * * A faithful copy of both flags AND frozen sides — copying only the boolean * would let the destination recompute the frozen side from its own geometry, * defeating the lock. The frozen side is normalized away when the end is * unlocked, so transferring an unlocked source also clears a previously-locked * destination (the lock can be released by re-applying an "auto" layout). * * Generic over the side type so the test can use lightweight stand-ins. */ export declare function transferAnchorLock(src: AnchorLockState): AnchorLockState;