type UseRowReorderAnimationOptions = {
    duration?: number;
    easing?: string;
};
type UseRowReorderAnimationReturn = {
    tableBodyRef: (node: HTMLElement | null) => void;
    registerRow: (wellId: number, node: HTMLElement | null) => void;
    capturePositions: () => void;
};
/**
 * Animates table row reordering using the FLIP technique.
 *
 * Uses a ref registry pattern where each row registers its DOM element via `registerRow`.
 * This avoids DOM queries and keeps the implementation React-idiomatic.
 *
 * How it works:
 * 1. Before triggering a reorder (e.g., checking a well), call `capturePositions()`
 *    to snapshot current row positions
 * 2. After React re-renders with new order, `useLayoutEffect` computes position deltas
 * 3. Rows animate from their old positions to new positions using Web Animations API
 */
export declare const useRowReorderAnimation: (wellIds: number[], scrollContainerRef: React.RefObject<HTMLElement | null>, isAnimatingRef: React.MutableRefObject<boolean>, options?: UseRowReorderAnimationOptions) => UseRowReorderAnimationReturn;
export {};
//# sourceMappingURL=useRowReorderAnimation.d.ts.map