import { type Ref } from "vue"; import type { DataGridAdvancedFilterExpression, DataGridColumnSnapshot } from "@affino/datagrid-core"; import type { DataGridPivotSpec } from "@affino/datagrid-pivot"; import type { UseDataGridRuntimeResult } from "../composables/useDataGridRuntime"; type MaybeRef = T | Ref; export type DataGridAppMode = "base" | "tree" | "pivot" | "worker"; export type DataGridAppRowHeightMode = "fixed" | "auto"; export type DataGridAppRowRenderMode = "virtualization" | "pagination"; export type DataGridAppPivotViewMode = "pivot" | "table"; export interface DataGridAppSortModel { key: string; direction: "asc" | "desc"; } export interface UseDataGridAppControlsOptions { mode: MaybeRef; runtime: Pick, "api" | "columnSnapshot">; appliedAdvancedFilterExpression: Ref; syncViewport?: () => void; initialColumnFilters?: Record; initialGroupByField?: string; initialSortState?: DataGridAppSortModel | readonly DataGridAppSortModel[] | null; initialRowHeightMode?: DataGridAppRowHeightMode; initialRowRenderMode?: DataGridAppRowRenderMode; initialPaginationPageSize?: number; initialPaginationPage?: number; initialBaseRowHeight?: number; pivotLayouts?: Readonly>; initialPivotViewMode?: DataGridAppPivotViewMode; initialPivotLayout?: TPivotLayoutId; } export interface UseDataGridAppControlsResult { visibleColumns: Ref; columnFilterTextByKey: Ref>; groupByField: Ref; sortState: Ref; rowHeightMode: Ref; rowRenderMode: Ref; paginationPageSize: Ref; paginationPage: Ref; baseRowHeight: Ref; normalizedBaseRowHeight: Ref; pivotViewMode: Ref; pivotLayout: Ref; pivotColumnCount: Ref; isRefreshCellsPanelOpen: Ref; refreshRowKeysInput: Ref; refreshColumnKeysInput: Ref; isStatePanelOpen: Ref; stateImportText: Ref; stateOutputText: Ref; isComputePolicyPanelOpen: Ref; projectionMode: Ref<"mutable" | "immutable" | "excel-like">; computeMode: Ref<"sync" | "worker">; computeDiagnosticsOutput: Ref; computeSupported: Ref; isPivotAdvancedPanelOpen: Ref; pivotAdvancedImportText: Ref; pivotAdvancedOutputText: Ref; setColumnFilterText: (columnKey: string, value: string) => void; toggleSortForColumn: (columnKey: string, additive?: boolean) => void; sortIndicator: (columnKey: string) => string; applySortAndFilter: () => void; applyGroupBy: () => void; applyPaginationSettings: () => void; applyRowHeightSettings: () => void; applyPivotConfiguration: () => void; openRefreshCellsPanel: () => void; closeRefreshCellsPanel: () => void; refreshCellsByRowKeys: () => void; openStatePanel: () => void; closeStatePanel: () => void; exportStatePayload: () => void; migrateStatePayload: () => void; applyStatePayload: () => void; openComputePolicyPanel: () => void; closeComputePolicyPanel: () => void; refreshComputeDiagnostics: () => void; applyProjectionMode: () => void; applyComputeMode: () => void; openPivotAdvancedPanel: () => void; closePivotAdvancedPanel: () => void; exportPivotLayout: () => void; exportPivotInterop: () => void; importPivotLayout: () => void; } export declare function useDataGridAppControls(options: UseDataGridAppControlsOptions): UseDataGridAppControlsResult; export {}; //# sourceMappingURL=useDataGridAppControls.d.ts.map