import { RefObject, UIEvent } from 'react'; import type { ContextType } from 'react'; import { StoreContext } from '../../../../services/store'; import type { IWidgetEvents } from '../../../../types/events'; type StoreStateUpdater = ContextType['setStoreState']; interface MobileScrollSyncParams { scrollContainerRef: RefObject; itemCount: number; cloneCount: number; visibleContentSize: number; setStoreState: StoreStateUpdater; triggerEvent: IWidgetEvents['triggerEvent']; widgetId: string; } /** * Calculate item width and shoulder visibility for a mobile carousel. * - 1 item is centered and uses 83.33% width so the remaining space acts as shoulders. * - 2+ items use 90% total width for items, with 5% shoulder padding on each side. */ export declare const useMobileCarouselDimensions: (visibleContentSize: number) => { itemWidthPercentage: number; shoulderPercentage: number; }; /** * Handles scroll synchronization, position tracking, and infinite loop wrapping */ export declare const useMobileScrollSync: ({ scrollContainerRef, itemCount, cloneCount, setStoreState, triggerEvent, widgetId, }: MobileScrollSyncParams) => { activeIndex: number; handleScroll: (event: UIEvent) => void; }; export {};