/**
 * Touch scrolling controller for mobile devices.
 *
 * Handles touch events for scrolling with momentum physics.
 * Supports both vertical (faux scrollbar) and horizontal (scroll area) scrolling.
 */
export interface TouchScrollState {
    startY: number | null;
    startX: number | null;
    scrollTop: number | null;
    scrollLeft: number | null;
    lastY: number | null;
    lastX: number | null;
    lastTime: number | null;
    velocityY: number;
    velocityX: number;
    momentumRaf: number;
}
export interface TouchScrollElements {
    fauxScrollbar: HTMLElement;
    scrollArea: HTMLElement | null;
}
/**
 * Create initial touch scroll state.
 */
export declare function createTouchScrollState(): TouchScrollState;
/**
 * Reset touch scroll state (called on touchend or cleanup).
 */
export declare function resetTouchState(state: TouchScrollState): void;
/**
 * Cancel any ongoing momentum animation.
 */
export declare function cancelMomentum(state: TouchScrollState): void;
/**
 * Handle touchstart event.
 */
export declare function handleTouchStart(e: TouchEvent, state: TouchScrollState, elements: TouchScrollElements): void;
/**
 * Handle touchmove event.
 * Returns true if the event should be prevented (grid scrolled).
 */
export declare function handleTouchMove(e: TouchEvent, state: TouchScrollState, elements: TouchScrollElements): boolean;
/**
 * Handle touchend event.
 * Starts momentum scrolling if velocity is significant.
 */
export declare function handleTouchEnd(state: TouchScrollState, elements: TouchScrollElements): void;
/**
 * Set up touch scroll event listeners on the grid content element.
 * Returns a cleanup function that removes all listeners.
 */
export declare function setupTouchScrollListeners(gridContentEl: HTMLElement, state: TouchScrollState, elements: TouchScrollElements, signal: AbortSignal): void;
//# sourceMappingURL=touch-scroll.d.ts.map