import type { Ref } from 'vue';
import type { InnerColumnConfig, InnerRowData, ScrollYParams, ScrollXParams } from '../data-grid-types';
export declare function useDataGridScroll(): {
    translateX: Ref<number, number>;
    translateY: Ref<number, number>;
    virtualColumnData: Ref<{
        $columnId: string;
        offsetLeft: number;
        $showExpandTreeIcon?: boolean | undefined;
        header: string;
        field: string;
        width?: string | number | undefined;
        minWidth?: string | number | undefined;
        maxWidth?: string | number | undefined;
        type?: import("../data-grid-types").ColumnType | undefined;
        resizable?: boolean | undefined;
        sortable?: boolean | undefined;
        showSortIcon?: boolean | undefined;
        sortMethod?: import("../data-grid-types").SortMethod<import("../data-grid-types").RowData> | undefined;
        filterable?: boolean | undefined;
        showFilterIcon?: boolean | undefined;
        filterMultiple?: boolean | undefined;
        filterList?: {
            name: string;
            value: any;
            checked?: boolean | undefined;
        }[] | undefined;
        filterChange?: ((val: import("../data-grid-types").FilterListItem | import("../data-grid-types").FilterListItem[]) => void) | undefined;
        filterMenu?: ((scope: {
            toggleFilterMenu: (status?: boolean | undefined) => void;
            setFilterStatus: (status: boolean) => void;
        }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>) | undefined;
        fixed?: import("../data-grid-types").FixedDirection | undefined;
        align?: import("../data-grid-types").ColumnAlign | undefined;
        showOverflowTooltip?: boolean | {
            content?: string | undefined;
            position?: import("../../../overlay").Placement[] | undefined;
            mouseEnterDelay?: number | undefined;
            enterable?: boolean | undefined;
            class?: string | undefined;
        } | undefined;
        showHeadOverflowTooltip?: boolean | {
            content?: string | undefined;
            position?: import("../../../overlay").Placement[] | undefined;
            mouseEnterDelay?: number | undefined;
            enterable?: boolean | undefined;
            class?: string | undefined;
        } | undefined;
        headRender?: ((columnConfig: import("../data-grid-types").ColumnConfig) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>) | undefined;
        cellRender?: ((rowData: import("../data-grid-types").RowData, rowIndex: number, cellData: string, cellIndex: number) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>) | undefined;
    }[], InnerColumnConfig[] | {
        $columnId: string;
        offsetLeft: number;
        $showExpandTreeIcon?: boolean | undefined;
        header: string;
        field: string;
        width?: string | number | undefined;
        minWidth?: string | number | undefined;
        maxWidth?: string | number | undefined;
        type?: import("../data-grid-types").ColumnType | undefined;
        resizable?: boolean | undefined;
        sortable?: boolean | undefined;
        showSortIcon?: boolean | undefined;
        sortMethod?: import("../data-grid-types").SortMethod<import("../data-grid-types").RowData> | undefined;
        filterable?: boolean | undefined;
        showFilterIcon?: boolean | undefined;
        filterMultiple?: boolean | undefined;
        filterList?: {
            name: string;
            value: any;
            checked?: boolean | undefined;
        }[] | undefined;
        filterChange?: ((val: import("../data-grid-types").FilterListItem | import("../data-grid-types").FilterListItem[]) => void) | undefined;
        filterMenu?: ((scope: {
            toggleFilterMenu: (status?: boolean | undefined) => void;
            setFilterStatus: (status: boolean) => void;
        }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>) | undefined;
        fixed?: import("../data-grid-types").FixedDirection | undefined;
        align?: import("../data-grid-types").ColumnAlign | undefined;
        showOverflowTooltip?: boolean | {
            content?: string | undefined;
            position?: import("../../../overlay").Placement[] | undefined;
            mouseEnterDelay?: number | undefined;
            enterable?: boolean | undefined;
            class?: string | undefined;
        } | undefined;
        showHeadOverflowTooltip?: boolean | {
            content?: string | undefined;
            position?: import("../../../overlay").Placement[] | undefined;
            mouseEnterDelay?: number | undefined;
            enterable?: boolean | undefined;
            class?: string | undefined;
        } | undefined;
        headRender?: ((columnConfig: import("../data-grid-types").ColumnConfig) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>) | undefined;
        cellRender?: ((rowData: import("../data-grid-types").RowData, rowIndex: number, cellData: string, cellIndex: number) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>) | undefined;
    }[]>;
    virtualRowData: Ref<{
        [x: string]: any;
        $rowId?: string | undefined;
        $parentId?: string | undefined;
        $rowIndex?: number | undefined;
        $level?: number | undefined;
        height?: number | undefined;
        offsetTop?: number | undefined;
        showNode?: boolean | undefined;
        $expand?: boolean | undefined;
        halfChecked?: boolean | undefined;
        childList?: any[] | undefined;
        descendantList?: any[] | undefined;
        checked?: boolean | undefined;
        disableCheck?: boolean | undefined;
        children?: {
            [x: string]: any;
            checked?: boolean | undefined;
            disableCheck?: boolean | undefined;
            children?: any[] | undefined;
            isLeaf?: boolean | undefined;
        }[] | undefined;
        isLeaf?: boolean | undefined;
    }[], InnerRowData[] | {
        [x: string]: any;
        $rowId?: string | undefined;
        $parentId?: string | undefined;
        $rowIndex?: number | undefined;
        $level?: number | undefined;
        height?: number | undefined;
        offsetTop?: number | undefined;
        showNode?: boolean | undefined;
        $expand?: boolean | undefined;
        halfChecked?: boolean | undefined;
        childList?: any[] | undefined;
        descendantList?: any[] | undefined;
        checked?: boolean | undefined;
        disableCheck?: boolean | undefined;
        children?: {
            [x: string]: any;
            checked?: boolean | undefined;
            disableCheck?: boolean | undefined;
            children?: any[] | undefined;
            isLeaf?: boolean | undefined;
        }[] | undefined;
        isLeaf?: boolean | undefined;
    }[]>;
    calcVirtualRowData: (scrollYParams: ScrollYParams) => void;
    calcVirtualColumnData: (scrollXParams: ScrollXParams, scrolling?: boolean) => void;
    resetVirtualRowData: () => void;
};
export declare function useDataGridLazy(scrollRef: Ref<HTMLElement | undefined>): void;
