/**
 * animations.js — Anime.js v4 animation helpers for the Operator's Console dashboard.
 *
 * Pure functions: take DOM elements + options, delegate to anime.js, return nothing
 * (or a stop handle for loops). No DOM access at module level, no global state.
 *
 * Every function guards on reducedMotion() and returns immediately (or applies end-state)
 * when the user prefers reduced motion.
 *
 * @module animations
 */
/**
 * Returns true when the user has opted-in to reduced motion.
 * @returns {boolean}
 */
export function reducedMotion(): boolean;
/**
 * Fade-up stagger mount animation for a NodeList or Array of elements.
 * @param {Element[]|NodeList} elements
 * @param {{ staggerMs?: number, durationMs?: number, yOffset?: number, animeApi: object }} options
 */
export function animateMount(elements: Element[] | NodeList, options: {
    staggerMs?: number;
    durationMs?: number;
    yOffset?: number;
    animeApi: object;
}): void;
/**
 * Animated number counter — morphs text content from oldValue to newValue.
 * Adds a brief scale pulse on the element.
 * @param {Element} element
 * @param {number} from
 * @param {number} to
 * @param {{ animeApi: object, durationMs?: number, onComplete?: () => void }} options
 */
export function animateCounter(element: Element, from: number, to: number, options: {
    animeApi: object;
    durationMs?: number;
    onComplete?: () => void;
}): void;
/**
 * Slide the shared tab underline element to match the target tab's
 * position and width. Pass the underline element and the active tab element.
 * @param {Element} underline
 * @param {Element} targetTab
 * @param {{ animeApi: object }} options
 */
export function slideTabUnderline(underline: Element, targetTab: Element, options: {
    animeApi: object;
}): void;
/**
 * Heartbeat — a 1px amber line traversing left-to-right infinitely
 * inside the given container element.
 * @param {Element} container - The 240px-wide container element.
 * @param {{ animeApi: object }} options
 * @returns {{ stop: () => void }}
 */
export function heartbeat(container: Element, options: {
    animeApi: object;
}): {
    stop: () => void;
};
/**
 * Breathing amber glow pulse on a live/active review card.
 * @param {Element} element
 * @param {{ animeApi: object }} options
 * @returns {{ stop: () => void }}
 */
export function pulseLive(element: Element, options: {
    animeApi: object;
}): {
    stop: () => void;
};
/**
 * Spring-in entry for the settings modal (scale + opacity).
 * @param {Element} modal
 * @param {{ animeApi: object }} options
 */
export function springIn(modal: Element, options: {
    animeApi: object;
}): void;
/**
 * Card lift on hover — translateY -2px + scale 1.005.
 * @param {Element} card
 * @param {{ animeApi: object }} options
 */
export function liftCard(card: Element, options: {
    animeApi: object;
}): void;
/**
 * Return card to resting position.
 * @param {Element} card
 * @param {{ animeApi: object }} options
 */
export function unliftCard(card: Element, options: {
    animeApi: object;
}): void;
/**
 * Subtle breathing pulse for the online status dot.
 * @param {Element} dot
 * @param {{ animeApi: object }} options
 * @returns {{ stop: () => void }}
 */
export function pulseStatusDot(dot: Element, options: {
    animeApi: object;
}): {
    stop: () => void;
};
/**
 * Very subtle logo breathing pulse (daemon-alive signal).
 * @param {Element} logo
 * @param {{ animeApi: object }} options
 * @returns {{ stop: () => void }}
 */
export function breatheLogo(logo: Element, options: {
    animeApi: object;
}): {
    stop: () => void;
};
/**
 * Cross-fade between tab content panels (fade out old, fade in new).
 * @param {Element} outgoing - Element being hidden.
 * @param {Element} incoming - Element being shown.
 * @param {{ animeApi: object }} options
 */
export function crossFadeTab(outgoing: Element, incoming: Element, options: {
    animeApi: object;
}): void;
/**
 * Expand an element from height 0 to its natural height using anime.js.
 * Uses a snapshot of the natural height before collapsing to 0.
 * @param {Element} element
 * @param {{ animeApi: object }} options
 */
export function expandHeight(element: Element, options: {
    animeApi: object;
}): void;
/**
 * Collapse an element from its natural height to 0 using anime.js.
 * @param {Element} element
 * @param {{ animeApi: object }} options
 */
export function collapseHeight(element: Element, options: {
    animeApi: object;
}): void;
/**
 * Toggle expand/collapse of an element and stagger-animate its children on open.
 * @param {Element} element
 * @param {boolean} isOpen - true to expand, false to collapse
 * @param {{ animeApi: object, childSelector?: string }} options
 */
export function toggleHeight(element: Element, isOpen: boolean, options: {
    animeApi: object;
    childSelector?: string;
}): void;
/**
 * Review status change: amber border fades → green glow pulse → green border.
 * @param {Element} element
 * @param {{ animeApi: object }} options
 */
export function reviewCompleted(element: Element, options: {
    animeApi: object;
}): void;
//# sourceMappingURL=animations.d.ts.map