import { type Ref } from "vue"; import type { DataGridColumnSnapshot, DataGridRowId, DataGridRowNode, DataGridSelectionSnapshot } from "@affino/datagrid-core"; import type { GridSelectionPointLike } from "@affino/datagrid-core/advanced"; import type { UseDataGridRuntimeOptions, UseDataGridRuntimeResult } from "../composables/useDataGridRuntime"; import type { DataGridAppMode } from "./useDataGridAppControls"; type MaybeRef = T | Ref; export interface UseDataGridAppSelectionOptions { mode: MaybeRef; resolveRuntime?: () => (Pick, "api"> & Partial, "rowModel">>) | null; visibleColumns?: Ref; totalRows?: Ref; showRowSelection?: MaybeRef; readSelectionCell?: (row: DataGridRowNode, columnKey: string) => unknown; resolveSelectionRowAtIndex?: (rowIndex: number) => DataGridRowNode | null; } export interface UseDataGridAppSelectionResult { selectionSnapshot: Ref; selectionAnchor: Ref | null>; selectionService: NonNullable["services"]>["selection"]>; runtimeServices: Pick["services"]>, "selection">; selectionAggregatesLabel: Ref; syncSelectionSnapshotFromRuntime: () => void; } export declare function useDataGridAppSelection(options: UseDataGridAppSelectionOptions): UseDataGridAppSelectionResult; export {}; //# sourceMappingURL=useDataGridAppSelection.d.ts.map