import { MaybeRefOrGetter, Ref } from 'vue'; export declare function useMutationObserver(target: Ref | Ref[] | HTMLElement | HTMLElement[], callback: MutationCallback, options?: object): { start: () => void; stop: () => void; }; export declare function useResizeObserver(target: Ref | Ref[] | HTMLElement | HTMLElement[], callback: ResizeObserverCallback, options?: object): { start: () => void; stop: () => void; }; type ScrollTarget = HTMLElement | Window | Document; type ScrollDirection = 'left' | 'right' | 'top' | 'bottom'; export interface UseScrollOptions { scrollEndDelay?: number; onScroll?: (e: Event) => void; onStop?: (e: Event) => void; } export interface UseScrollReturn { x: Ref; y: Ref; maxX: Ref; maxY: Ref; isScrolling: Ref; direction: Ref; atLeft: Ref; atRight: Ref; atTop: Ref; atBottom: Ref; refresh: () => void; start: () => void; stop: () => void; } export declare function useScroll(target?: MaybeRefOrGetter, options?: UseScrollOptions): UseScrollReturn; export interface ScrollParentOptions { passive?: boolean; onCleanup?: () => void; } export declare function useScrollParent(contentRef: Ref, onScroll: () => void, options?: ScrollParentOptions): { scrollTarget: Ref; viewportWidth: Ref; viewportHeight: Ref; observeScroll: () => void; cleanup: () => void; }; export {};