import { ComputedRef, MaybeRefOrGetter } from 'vue'; /** * Shared lifecycle callbacks exposed by headless scroller composables. */ export interface ScrollerCallbacks { onResize?: () => void; onVisible?: () => void; onHidden?: () => void; onUpdate?: (startIndex: number, endIndex: number, visibleStartIndex: number, visibleEndIndex: number) => void; } /** * Common single-object inputs for headless scroller composables. */ export interface ScrollerOptionElements { el?: MaybeRefOrGetter; before?: MaybeRefOrGetter; after?: MaybeRefOrGetter; } /** * Common single-object callback hooks for headless scroller composables. */ export interface ScrollerOptionCallbacks extends ScrollerCallbacks { } /** * Normalized element refs and callback hooks resolved from either object or legacy positional inputs. */ export interface NormalizedScrollerInputs { el: ComputedRef; before: ComputedRef; after: ComputedRef; callbacks: ScrollerCallbacks; } /** * Cache single-object scroller options so getter-based callers do not rebuild the object on every access. */ export declare function resolveScrollerOptions(options: MaybeRefOrGetter): ComputedRef; /** * Resolve shared scroller inputs while keeping `items` and DOM refs as separate reactive sources. */ export declare function normalizeScrollerInputs(options: MaybeRefOrGetter, el?: MaybeRefOrGetter, before?: MaybeRefOrGetter, after?: MaybeRefOrGetter, callbacks?: ScrollerCallbacks): NormalizedScrollerInputs;