import { Alignment } from "../../virtual-list/src/types.js"; import { Alignment as Alignment$1, AnyColumns, CellRenderer, ClassNameGetter, FixedDirection, HeaderCellRenderer, HeaderClassGetter, KeyType } from "./types.js"; import { RowExpandParams, RowHeightChangedParams, RowHoverParams } from "./row.js"; import { onRowRenderedParams } from "./grid.js"; import { TableV2Props } from "./table.js"; import { TableGridInstance } from "./table-grid.js"; import { ScrollPos } from "./composables/use-scrollbar.js"; import "./composables/index.js"; import "../../../index.js"; import * as vue from "vue"; //#region ../../packages/components/table-v2/src/use-table.d.ts declare function useTable(props: TableV2Props): { columns: vue.ComputedRef<{ key: KeyType; align?: Alignment$1; class?: string | ClassNameGetter | undefined; dataKey?: KeyType; fixed?: true | FixedDirection; flexGrow?: vue.CSSProperties["flexGrow"]; flexShrink?: vue.CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | HeaderClassGetter | undefined; maxWidth?: number; minWidth?: number; style?: vue.CSSProperties; sortable?: boolean; width: number; cellRenderer?: CellRenderer | undefined; headerCellRenderer?: HeaderCellRenderer | undefined; }[]>; containerRef: vue.Ref; mainTableRef: vue.Ref; leftTableRef: vue.Ref; rightTableRef: vue.Ref; isDynamic: vue.ComputedRef; isResetting: vue.ShallowRef; isScrolling: vue.ShallowRef; hasFixedColumns: vue.ComputedRef; columnsStyles: vue.ComputedRef>; columnsTotalWidth: vue.ComputedRef; data: vue.ComputedRef; expandedRowKeys: vue.Ref; depthMap: vue.Ref, Record>; fixedColumnsOnLeft: vue.ComputedRef<{ key: KeyType; align?: Alignment$1; class?: string | ClassNameGetter | undefined; dataKey?: KeyType; fixed?: true | FixedDirection; flexGrow?: vue.CSSProperties["flexGrow"]; flexShrink?: vue.CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | HeaderClassGetter | undefined; maxWidth?: number; minWidth?: number; style?: vue.CSSProperties; sortable?: boolean; width: number; cellRenderer?: CellRenderer | undefined; headerCellRenderer?: HeaderCellRenderer | undefined; }[]>; fixedColumnsOnRight: vue.ComputedRef<{ key: KeyType; align?: Alignment$1; class?: string | ClassNameGetter | undefined; dataKey?: KeyType; fixed?: true | FixedDirection; flexGrow?: vue.CSSProperties["flexGrow"]; flexShrink?: vue.CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | HeaderClassGetter | undefined; maxWidth?: number; minWidth?: number; style?: vue.CSSProperties; sortable?: boolean; width: number; cellRenderer?: CellRenderer | undefined; headerCellRenderer?: HeaderCellRenderer | undefined; }[]>; mainColumns: vue.ComputedRef; bodyWidth: vue.ComputedRef; emptyStyle: vue.ComputedRef; rootStyle: vue.ComputedRef; footerHeight: vue.ComputedRef; mainTableHeight: vue.ComputedRef; fixedTableHeight: vue.ComputedRef; leftTableWidth: vue.ComputedRef; rightTableWidth: vue.ComputedRef; showEmpty: vue.ComputedRef; getRowHeight: (rowIndex: number) => number; onColumnSorted: (e: MouseEvent) => void; onRowHovered: ({ hovered, rowKey }: RowHoverParams) => void; onRowExpanded: ({ expanded, rowData, rowIndex, rowKey }: RowExpandParams) => void; onRowsRendered: (params: onRowRenderedParams) => void; onRowHeightChange: ({ rowKey, height, rowIndex }: RowHeightChangedParams, fixedDir: FixedDirection) => void; scrollTo: (params: ScrollPos) => void; scrollToLeft: (scrollLeft: number) => void; scrollToTop: (scrollTop: number) => void; scrollToRow: (row: number, strategy?: Alignment) => void; onScroll: (params: ScrollPos) => void; onVerticalScroll: ({ scrollTop }: ScrollPos) => void; }; type UseTableReturn = ReturnType; //#endregion export { UseTableReturn };