import type { Ref } from 'vue'; export interface ScrollProps { scrollTarget?: string; scrollThreshold?: string | number; } export interface ThresholdMetCallbackData { isScrollingUp: boolean; currentThreshold: number; savedScroll: Ref; } export declare const makeScrollProps: (defaults?: Defaults | undefined) => { scrollTarget: unknown extends Defaults["scrollTarget"] ? { type: StringConstructor; } : Omit<{ type: StringConstructor; }, "default" | "type"> & { type: import("vue").PropType; default: unknown extends Defaults["scrollTarget"] ? string : string | Defaults["scrollTarget"]; }; scrollThreshold: unknown extends Defaults["scrollThreshold"] ? { type: (NumberConstructor | StringConstructor)[]; default: number; } : Omit<{ type: (NumberConstructor | StringConstructor)[]; default: number; }, "default" | "type"> & { type: import("vue").PropType; default: unknown extends Defaults["scrollThreshold"] ? string | number : Defaults["scrollThreshold"] | NonNullable; }; }; export interface ScrollArguments { canScroll?: Readonly>; layoutSize?: Readonly>; } export declare function useScroll(props: ScrollProps, args?: ScrollArguments): { scrollThreshold: import("vue").ComputedRef; currentScroll: import("vue").ShallowRef; currentThreshold: import("vue").ShallowRef; isScrollActive: import("vue").ShallowRef; scrollRatio: import("vue").ComputedRef; isScrollingUp: import("vue").ShallowRef; savedScroll: import("vue").ShallowRef; isAtBottom: import("vue").ShallowRef; reachedBottomWhileScrollingDown: import("vue").ShallowRef; hasEnoughScrollableSpace: import("vue").ShallowRef; };