/** A component animation expressed in the native Web Animations API vocabulary. Each logical * direction is snapshotted at registration/resolution time and bounded to 512 keyframes. */ export interface LyraElementAnimation{readonly keyframes:readonly Readonly[]; /** Logical-direction alternative. Falls back to `keyframes` when omitted. */ readonly rtlKeyframes?:readonly Readonly[];readonly options?:Readonly;} /** The normalized value returned by {@link getAnimation}. */ export interface LyraResolvedElementAnimation{readonly keyframes:readonly Readonly[];readonly options:Readonly;}export interface LyraGetAnimationOptions{ /** Text direction used to select `rtlKeyframes`. Inferred from the element when omitted. */ readonly dir?:'ltr'|'rtl'; /** Component-owned animation used when neither registry level has an entry. Registry timing * overrides are merged over this fallback's options so token-derived duration/easing survive a * keyframes-only customization. */ readonly fallback?:LyraElementAnimation|null; /** Defaults to true. Set false only when the caller owns a stronger reduced-motion policy. */ readonly respectReducedMotion?:boolean;} /** Idempotently removes the exact registration made by one setter call. */ export type LyraAnimationCleanup=()=>void; /** * Sets a page-wide animation override. Pass `null` to disable that named animation while keeping * component show/hide lifecycle promises intact. The returned cleanup restores the preceding * active registration and is safe to call more than once. Malformed, oversized, or getter- * throwing JavaScript records register inertly so they cannot throw later from a component's * render path. */ export declare function setDefaultAnimation(animationName:string,animation:LyraElementAnimation|null):LyraAnimationCleanup; /** * Sets one element's animation override. Per-element state is stored in a `WeakMap`, so the * registry cannot retain a detached element. The override survives a reconnect of the same * element instance until the returned cleanup is called; `null` explicitly disables the name. * Malformed, oversized, or getter-throwing JavaScript records register inertly and resolve to a * valid caller fallback (or the disabled result) instead of escaping into component rendering. */ export declare function setAnimation(element:Element,animationName:string,animation:LyraElementAnimation|null):LyraAnimationCleanup; /** * Resolves a per-element override, then a page-wide default, then the caller's fallback. * * Results are defensive copies. Under `prefers-reduced-motion: reduce`, delay/end-delay are * removed and duration is flattened to zero while the resolved keyframes remain available so a * caller can apply the correct end state and complete its normal async lifecycle. No browser * global is touched at module evaluation time, making the utility safe to import during SSR. */ export declare function getAnimation(element:Element,animationName:string,options?:LyraGetAnimationOptions):LyraResolvedElementAnimation;