import { UseOverlayScrollbarsParams } from 'overlayscrollbars-react';
import { default as React } from 'react';
type OverflowBehavior = 'hidden' | 'scroll' | 'visible' | 'visible-hidden' | 'visible-scroll';
export interface OverlayScrollerOptions {
    oppositeTheme?: boolean;
    overflow?: {
        x?: OverflowBehavior;
        y?: OverflowBehavior;
    };
    scrollbars?: {
        theme?: 'os-theme-light' | 'os-theme-dark';
        autoHide?: 'never' | 'scroll' | 'leave' | 'move';
        autoHideDelay?: number;
        clickScroll?: boolean | 'instant';
    };
}
export declare const overlaySollerOptions: UseOverlayScrollbarsParams;
/**
 *
 * @param options.theme: if set theme, it will fix the theme
 * @returns
 */
export default function useOverlayScroller(data?: {
    options?: OverlayScrollerOptions;
    events?: any;
    defer?: boolean;
}): {
    initialize: (this: unknown, el: any) => any;
    instance: React.MutableRefObject<any>;
    scrollEventElement: React.MutableRefObject<any>;
    initialized: boolean;
    getScrollElementScrollableHeight: () => {
        scrollTop: any;
        scrollHeight: number;
    };
    getScrollElement: () => React.MutableRefObject<any>;
    generateInstance: () => void;
    destroyInstance: () => void;
    updateScrollerPosition: (this: unknown, delay?: number | undefined) => void;
    updateScrollerPositionToTop: (this: unknown) => void;
    scrollToBottom: (this: unknown) => void;
    scrollToTop: (this: unknown) => void;
    scrollToTarget: (target: any, offset?: number) => void;
};
export {};
