import type { Atom } from "@cn-ui/reactive";
import { type Accessor } from "solid-js";
import type { ColumnDef, Table } from "./solidTable";
import type { useSticky } from "./useSticky";
export declare function useTableVirtual<T>(table: Table<T>, tableContainerRef: Atom<HTMLDivElement | null>, data: {
    composedColumns: Accessor<ColumnDef<T>[]>;
    estimateHeight: Accessor<number | undefined>;
} & ReturnType<typeof useSticky>): {
    rowVirtualizer: import("./virtual/createVirtualizer").CNVirtualizer<HTMLDivElement, Element>;
    columnVirtualizer: import("./virtual/createVirtualizer").CNVirtualizer<HTMLDivElement, Element>;
    tableWidth(): number;
    rows: Accessor<import("@cn-ui/table-core/build/lib/types").Row<T>[]>;
};
