import * as React from 'react';
interface Size {
    width: number;
    height: number;
}
export declare function useScrollAreaRoot(params: useScrollAreaRoot.Parameters): {
    getRootProps: (externalProps?: {}) => import("../../utils/types.js").WithBaseUIEvent<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>>;
    handlePointerDown: (event: React.PointerEvent) => void;
    handlePointerMove: (event: React.PointerEvent) => void;
    handlePointerUp: (event: React.PointerEvent) => void;
    handleScroll: () => void;
    cornerSize: Size;
    setCornerSize: React.Dispatch<React.SetStateAction<Size>>;
    thumbSize: Size;
    setThumbSize: React.Dispatch<React.SetStateAction<Size>>;
    touchModality: boolean;
    cornerRef: React.RefObject<HTMLDivElement | null>;
    scrolling: boolean;
    setScrolling: React.Dispatch<React.SetStateAction<boolean>>;
    hovering: boolean;
    setHovering: React.Dispatch<React.SetStateAction<boolean>>;
    viewportRef: React.RefObject<HTMLDivElement | null>;
    scrollbarYRef: React.RefObject<HTMLDivElement | null>;
    scrollbarXRef: React.RefObject<HTMLDivElement | null>;
    thumbYRef: React.RefObject<HTMLDivElement | null>;
    thumbXRef: React.RefObject<HTMLDivElement | null>;
    rootId: string | undefined;
    hiddenState: {
        scrollbarYHidden: boolean;
        scrollbarXHidden: boolean;
        cornerHidden: boolean;
    };
    setHiddenState: React.Dispatch<React.SetStateAction<{
        scrollbarYHidden: boolean;
        scrollbarXHidden: boolean;
        cornerHidden: boolean;
    }>>;
};
export declare namespace useScrollAreaRoot {
    interface Parameters {
        dir: string | undefined;
    }
}
export {};
