import { Ref } from 'vue';
import { ScrollMode } from './symbol';
export declare function useScrollWrapper({ mode, disabled, width, height, scrollX, scrollY, onResize, onBeforeRefresh, onAfterRefresh }: {
    mode: Ref<Exclude<ScrollMode, 'horizontal-exact'>>;
    disabled: Ref<boolean>;
    width: Ref<number | string>;
    height: Ref<number | string>;
    scrollX: Ref<number>;
    scrollY: Ref<number>;
    onResize?: (entry: ResizeObserverEntry) => void;
    onBeforeRefresh?: () => void;
    onAfterRefresh?: () => void;
}): {
    wrapperEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
    contentEl: Ref<HTMLElement | undefined, HTMLElement | undefined>;
    wrapper: {
        el: HTMLElement | undefined;
        width: number;
        height: number;
    };
    content: {
        el: HTMLElement | undefined;
        width: number;
        height: number;
    };
    isReady: Ref<boolean, boolean>;
    x: Ref<number, number>;
    y: Ref<number, number>;
    percentX: Ref<number, number>;
    percentY: Ref<number, number>;
    xScrollLimit: import('vue').ComputedRef<number>;
    yScrollLimit: import('vue').ComputedRef<number>;
    enableXScroll: import('vue').ComputedRef<boolean>;
    enableYScroll: import('vue').ComputedRef<boolean>;
    xBarLength: import('vue').ComputedRef<number>;
    yBarLength: import('vue').ComputedRef<number>;
    handleResize: (entity: ResizeObserverEntry) => void;
    verifyScroll: () => void;
    computePercent: () => void;
    refresh: () => Promise<void>;
    triggerUpdate: () => void;
};
