import { MutableRefObject, UIEventHandler, WheelEventHandler } from 'react';
/**
 * Scroll horizontal compartido: el **viewport** es el de la cabecera; el cuerpo registra nodos
 * que reciben `transform` **en el mismo tick** que el `scroll` (sin esperar a React), para evitar
 * desfase visual entre cabecera y filas.
 */
export interface GhanttHorizontalScroll {
    headerViewportRef: MutableRefObject<HTMLDivElement | null>;
    /** Aplica posición con clamp según `scrollWidth` del viewport de cabecera y sincroniza el cuerpo. */
    setScrollLeft: (x: number) => void;
    /** Conectar al `onScroll` del contenedor `overflow-x-auto` de la cabecera. */
    onHeaderViewportScroll: UIEventHandler<HTMLDivElement>;
    /**
     * Rueda horizontal / Shift+rueda vertical sobre la pista Gantt (cuerpo y cabecera).
     * Con `timeline.modifierWheelZoom`, **Cmd/Ctrl + rueda** prioriza el cambio de escala (se hace `preventDefault`).
     */
    onBodyWheel: WheelEventHandler<HTMLDivElement>;
    /** Nodo cuya `transform` debe seguir al scroll (pista temporal de cada fila). */
    registerBodyTimeline: (el: HTMLElement | null) => () => void;
}
//# sourceMappingURL=ghanttHorizontalScroll.d.ts.map