import type { Ref } from 'vue'; import type { TableColumnCtx } from '../table-column/defaults'; import type { DefaultRow, TableSortOrder } from '../table/defaults'; import type { StoreFilter } from '.'; declare function useWatcher(): { assertRowKey: () => void; updateColumns: () => void; scheduleLayout: (needUpdateColumns?: boolean, immediate?: boolean) => void; isSelected: (row: T) => boolean; clearSelection: () => void; cleanSelection: () => void; getSelectionRows: () => T[]; toggleRowSelection: (row: T, selected?: boolean, emitChange?: boolean, ignoreSelectable?: boolean) => void; _toggleAllSelection: () => void; toggleAllSelection: (() => void) | null; updateAllSelected: () => void; updateFilters: (column: TableColumnCtx, values: string[]) => Record; updateCurrentRow: (_currentRow: T) => void; updateSort: (column: TableColumnCtx | null, prop: string | null, order: TableSortOrder | null) => void; execFilter: () => void; execSort: () => void; execQuery: (ignore?: { filter: boolean; } | undefined) => void; clearFilter: (columnKeys?: string[] | string) => void; clearSort: () => void; toggleRowExpansion: (row: T, expanded?: boolean) => void; setExpandRowKeysAdapter: (val: (string | number)[]) => void; setCurrentRowKey: (key: string) => void; toggleRowExpansionAdapter: (row: T, expanded?: boolean) => void; isRowExpanded: (row: T) => boolean; updateExpandRows: () => void; updateCurrentRowData: () => void; loadOrToggle: (row: T) => void; updateTreeData: (ifChangeExpandRowKeys?: boolean, ifExpandAll?: boolean) => void; updateKeyChildren: (key: string, data: T[]) => void; states: { _currentRowKey: Ref; currentRow: Ref; expandRowKeys: Ref<(string | number)[]>; treeData: Ref>; indent: Ref; lazy: Ref; lazyTreeNodeMap: Ref>; lazyColumnIdentifier: Ref; childrenColumnName: Ref; checkStrictly: Ref; expandRows: Ref; defaultExpandAll: Ref; tableSize: Ref; rowKey: Ref; data: Ref; _data: Ref; isComplex: Ref; _columns: Ref[]>; originColumns: Ref[]>; columns: Ref[]>; fixedColumns: Ref[]>; rightFixedColumns: Ref[]>; leafColumns: Ref[]>; fixedLeafColumns: Ref[]>; rightFixedLeafColumns: Ref[]>; updateOrderFns: (() => void)[]; leafColumnsLength: Ref; fixedLeafColumnsLength: Ref; rightFixedLeafColumnsLength: Ref; isAllSelected: Ref; selection: Ref; reserveSelection: Ref; selectOnIndeterminate: Ref; selectable: Ref<((row: T, index: number) => boolean) | null>; filters: Ref; filteredData: Ref; sortingColumn: Ref | null>; sortProp: Ref; sortOrder: Ref; hoverRow: Ref; }; }; export default useWatcher;