import type { DataGridRowModelSnapshot, DataGridRowNode } from "@affino/datagrid-core"; import { type ComputedRef, type ShallowRef } from "vue"; interface DataGridRuntimeShape { api: { rows: { getSnapshot(): DataGridRowModelSnapshot; getRange(range: DataGridRowModelSnapshot["viewportRange"]): readonly DataGridRowNode[]; }; }; runtime: { rowModel: { subscribe(listener: () => void): () => void; }; columnModel: { subscribe(listener: () => void): () => void; }; columnSnapshot: { value: { visibleColumns: ReadonlyArray<{ key: string; column: { label?: string; }; }>; }; }; virtualWindow: { value: { rowTotal: number; colTotal: number; } | null; }; }; } export interface DataGridViewColumn { key: string; label: string; } export interface UseDataGridViewModelResult { rowSnapshot: ShallowRef>; visibleRows: ShallowRef>>; visibleColumns: ComputedRef>; virtualWindow: DataGridRuntimeShape["runtime"]["virtualWindow"]; readCell: (row: DataGridRowNode, columnKey: string) => unknown; } export declare function useDataGridViewModel(grid: DataGridRuntimeShape): UseDataGridViewModelResult; export {}; //# sourceMappingURL=useDataGridViewModel.d.ts.map