import { Component, CSSProperties, UIEvent, MouseEvent, PropsWithChildren } from "react"; import { simpleDebounce } from "./utils.ts"; interface CustomScrollProps extends PropsWithChildren { allowOuterScroll?: boolean; heightRelativeToParent?: string; onScroll?: (event: UIEvent) => void; addScrolledClass?: boolean; freezePosition?: boolean; handleClass?: string; minScrollHandleHeight?: number; flex?: string; rtl?: boolean; scrollTo?: number; keepAtBottom?: boolean; alwaysVisible?: boolean; className?: string; } interface CustomScrollState { scrollPos: number; onDrag: boolean; visible: boolean; } export declare class CustomScroll extends Component { scrollbarYWidth: number; hideScrollThumb: ReturnType; contentHeight: number; visibleHeight: number; scrollHandleHeight: number; scrollRatio: number; hasScroll: boolean; startDragHandlePos: number; startDragMousePos: number; constructor(props: CustomScrollProps); componentDidMount(): void; componentDidUpdate(prevProps: CustomScrollProps, prevState: CustomScrollState): void; componentWillUnmount(): void; customScrollRef: import("react").RefObject; innerContainerRef: import("react").RefObject; customScrollbarRef: import("react").RefObject; scrollHandleRef: import("react").RefObject; contentWrapperRef: import("react").RefObject; adjustFreezePosition: (prevProps: CustomScrollProps) => void; toggleScrollIfNeeded: () => void; updateScrollPosition: (scrollValue: number) => void; onClick: (event: MouseEvent) => void; isMouseEventOnCustomScrollbar: (event: MouseEvent) => boolean; isMouseEventOnScrollHandle: (event: MouseEvent) => boolean; calculateNewScrollHandleTop: (clickEvent: MouseEvent) => number; getScrollValueFromHandlePosition: (handlePosition: number) => number; getScrollHandleStyle: () => { height: number; top: number; }; adjustCustomScrollPosToContentPos: (scrollPosition: number) => void; onScroll: (event: UIEvent) => void; getScrolledElement: () => HTMLElement; onMouseDown: (event: MouseEvent) => void; onTouchStart: () => void; onHandleDrag: (event: MouseEvent) => void; onHandleDragEnd: (e: MouseEvent) => void; getInnerContainerClasses: () => "rcs-inner-container rcs-content-scrolled" | "rcs-inner-container"; getScrollStyles: () => { innerContainer: CSSProperties; contentWrapper: CSSProperties; }; getOuterContainerStyle: () => { height: string; }; getRootStyles: () => CSSProperties; enforceMinHandleHeight: (calculatedStyle: { height: number; top: number; }) => { height: number; top: number; }; onMouseEnter: () => void; onMouseLeave: () => void; render(): import("react/jsx-runtime").JSX.Element; } export {};