import { FC, PropsWithChildren, RefCallback, RefObject, ReactElement } from 'react'; interface ScrollSyncProps { /** * Whether scroll synchronization is enabled. * @default true */ enabled?: boolean; /** * Enable horizontal scroll synchronization. * @default true */ horizontal?: boolean; /** * Callback fired after panes are synchronized. * Receives the scrolled HTMLElement as an argument. */ onSync?: (el: HTMLElement) => void; /** * Whether to synchronize scroll positions proportionally. * If false, uses absolute scroll values. * @default true */ proportional?: boolean; /** * Enable vertical scroll synchronization. * @default true */ vertical?: boolean; } declare const ScrollSync: FC>; interface ScrollSyncPaneProps { /** * Optionally attach scroll sync to an external HTMLElement ref or callback. * If provided, the pane will sync scroll with this element instead of the child. */ attachTo?: RefCallback | RefObject; /** * The scrollable child element to be synchronized. */ children: ReactElement; /** * Whether scroll synchronization is enabled for this pane. * @default true */ enabled?: boolean; /** * Group or groups this pane belongs to for scroll synchronization. * Panes in the same group will sync scroll positions. * @default 'default' */ group?: string | string[]; /** * Ref or callback to access the underlying HTMLElement of the pane. */ innerRef?: RefCallback | RefObject; } declare const ScrollSyncPane: FC; export { ScrollSync, ScrollSyncPane, type ScrollSyncPaneProps, type ScrollSyncProps };