import { Translator } from "../../../../hooks/use-locale/index.js";
import "../../../../hooks/index.js";
import { TreeData } from "./tree.js";
import { TableColumnCtx } from "../table-column/defaults.js";
import { DefaultRow, Filter, Sort, TableSortOrder } from "../table/defaults.js";
import * as vue from "vue";
import { Ref } from "vue";

//#region ../../packages/components/table/src/store/index.d.ts
interface WatcherPropsData<T extends DefaultRow> {
  data: Ref<T[]>;
  rowKey: Ref<string | null>;
}
declare function useStore<T extends DefaultRow>(): {
  mutations: {
    setData(states: {
      _currentRowKey: Ref<string | null, string | null>;
      currentRow: Ref<T | null, T | null>;
      expandRowKeys: Ref<string[], string[]>;
      treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
      indent: Ref<number, number>;
      lazy: Ref<boolean, boolean>;
      lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
      lazyColumnIdentifier: Ref<string, string>;
      childrenColumnName: Ref<string, string>;
      checkStrictly: Ref<boolean, boolean>;
      expandRows: Ref<T[], T[]>;
      defaultExpandAll: Ref<boolean, boolean>;
      tableSize: Ref<any, any>;
      rowKey: Ref<string | null, string | null>;
      data: Ref<T[], T[]>;
      _data: Ref<T[], T[]>;
      isComplex: Ref<boolean, boolean>;
      _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      updateOrderFns: (() => void)[];
      leafColumnsLength: Ref<number, number>;
      fixedLeafColumnsLength: Ref<number, number>;
      rightFixedLeafColumnsLength: Ref<number, number>;
      isAllSelected: Ref<boolean, boolean>;
      selection: Ref<T[], T[]>;
      reserveSelection: Ref<boolean, boolean>;
      selectOnIndeterminate: Ref<boolean, boolean>;
      selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      filters: Ref<StoreFilter, StoreFilter>;
      filteredData: Ref<T[] | null, T[] | null>;
      sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
      sortProp: Ref<string | null, string | null>;
      sortOrder: Ref<string | number | null, string | number | null>;
      hoverRow: Ref<T | null, T | null>;
    }, data: T[]): void;
    insertColumn(states: {
      _currentRowKey: Ref<string | null, string | null>;
      currentRow: Ref<T | null, T | null>;
      expandRowKeys: Ref<string[], string[]>;
      treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
      indent: Ref<number, number>;
      lazy: Ref<boolean, boolean>;
      lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
      lazyColumnIdentifier: Ref<string, string>;
      childrenColumnName: Ref<string, string>;
      checkStrictly: Ref<boolean, boolean>;
      expandRows: Ref<T[], T[]>;
      defaultExpandAll: Ref<boolean, boolean>;
      tableSize: Ref<any, any>;
      rowKey: Ref<string | null, string | null>;
      data: Ref<T[], T[]>;
      _data: Ref<T[], T[]>;
      isComplex: Ref<boolean, boolean>;
      _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      updateOrderFns: (() => void)[];
      leafColumnsLength: Ref<number, number>;
      fixedLeafColumnsLength: Ref<number, number>;
      rightFixedLeafColumnsLength: Ref<number, number>;
      isAllSelected: Ref<boolean, boolean>;
      selection: Ref<T[], T[]>;
      reserveSelection: Ref<boolean, boolean>;
      selectOnIndeterminate: Ref<boolean, boolean>;
      selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      filters: Ref<StoreFilter, StoreFilter>;
      filteredData: Ref<T[] | null, T[] | null>;
      sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
      sortProp: Ref<string | null, string | null>;
      sortOrder: Ref<string | number | null, string | number | null>;
      hoverRow: Ref<T | null, T | null>;
    }, column: TableColumnCtx<T>, parent: TableColumnCtx<T>, updateColumnOrder: () => void): void;
    updateColumnOrder(states: {
      _currentRowKey: Ref<string | null, string | null>;
      currentRow: Ref<T | null, T | null>;
      expandRowKeys: Ref<string[], string[]>;
      treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
      indent: Ref<number, number>;
      lazy: Ref<boolean, boolean>;
      lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
      lazyColumnIdentifier: Ref<string, string>;
      childrenColumnName: Ref<string, string>;
      checkStrictly: Ref<boolean, boolean>;
      expandRows: Ref<T[], T[]>;
      defaultExpandAll: Ref<boolean, boolean>;
      tableSize: Ref<any, any>;
      rowKey: Ref<string | null, string | null>;
      data: Ref<T[], T[]>;
      _data: Ref<T[], T[]>;
      isComplex: Ref<boolean, boolean>;
      _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      updateOrderFns: (() => void)[];
      leafColumnsLength: Ref<number, number>;
      fixedLeafColumnsLength: Ref<number, number>;
      rightFixedLeafColumnsLength: Ref<number, number>;
      isAllSelected: Ref<boolean, boolean>;
      selection: Ref<T[], T[]>;
      reserveSelection: Ref<boolean, boolean>;
      selectOnIndeterminate: Ref<boolean, boolean>;
      selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      filters: Ref<StoreFilter, StoreFilter>;
      filteredData: Ref<T[] | null, T[] | null>;
      sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
      sortProp: Ref<string | null, string | null>;
      sortOrder: Ref<string | number | null, string | number | null>;
      hoverRow: Ref<T | null, T | null>;
    }, column: TableColumnCtx<T>): void;
    removeColumn(states: {
      _currentRowKey: Ref<string | null, string | null>;
      currentRow: Ref<T | null, T | null>;
      expandRowKeys: Ref<string[], string[]>;
      treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
      indent: Ref<number, number>;
      lazy: Ref<boolean, boolean>;
      lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
      lazyColumnIdentifier: Ref<string, string>;
      childrenColumnName: Ref<string, string>;
      checkStrictly: Ref<boolean, boolean>;
      expandRows: Ref<T[], T[]>;
      defaultExpandAll: Ref<boolean, boolean>;
      tableSize: Ref<any, any>;
      rowKey: Ref<string | null, string | null>;
      data: Ref<T[], T[]>;
      _data: Ref<T[], T[]>;
      isComplex: Ref<boolean, boolean>;
      _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      updateOrderFns: (() => void)[];
      leafColumnsLength: Ref<number, number>;
      fixedLeafColumnsLength: Ref<number, number>;
      rightFixedLeafColumnsLength: Ref<number, number>;
      isAllSelected: Ref<boolean, boolean>;
      selection: Ref<T[], T[]>;
      reserveSelection: Ref<boolean, boolean>;
      selectOnIndeterminate: Ref<boolean, boolean>;
      selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      filters: Ref<StoreFilter, StoreFilter>;
      filteredData: Ref<T[] | null, T[] | null>;
      sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
      sortProp: Ref<string | null, string | null>;
      sortOrder: Ref<string | number | null, string | number | null>;
      hoverRow: Ref<T | null, T | null>;
    }, column: TableColumnCtx<T>, parent: TableColumnCtx<T>, updateColumnOrder: () => void): void;
    sort(states: {
      _currentRowKey: Ref<string | null, string | null>;
      currentRow: Ref<T | null, T | null>;
      expandRowKeys: Ref<string[], string[]>;
      treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
      indent: Ref<number, number>;
      lazy: Ref<boolean, boolean>;
      lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
      lazyColumnIdentifier: Ref<string, string>;
      childrenColumnName: Ref<string, string>;
      checkStrictly: Ref<boolean, boolean>;
      expandRows: Ref<T[], T[]>;
      defaultExpandAll: Ref<boolean, boolean>;
      tableSize: Ref<any, any>;
      rowKey: Ref<string | null, string | null>;
      data: Ref<T[], T[]>;
      _data: Ref<T[], T[]>;
      isComplex: Ref<boolean, boolean>;
      _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      updateOrderFns: (() => void)[];
      leafColumnsLength: Ref<number, number>;
      fixedLeafColumnsLength: Ref<number, number>;
      rightFixedLeafColumnsLength: Ref<number, number>;
      isAllSelected: Ref<boolean, boolean>;
      selection: Ref<T[], T[]>;
      reserveSelection: Ref<boolean, boolean>;
      selectOnIndeterminate: Ref<boolean, boolean>;
      selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      filters: Ref<StoreFilter, StoreFilter>;
      filteredData: Ref<T[] | null, T[] | null>;
      sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
      sortProp: Ref<string | null, string | null>;
      sortOrder: Ref<string | number | null, string | number | null>;
      hoverRow: Ref<T | null, T | null>;
    }, options: Sort): void;
    changeSortCondition(states: {
      _currentRowKey: Ref<string | null, string | null>;
      currentRow: Ref<T | null, T | null>;
      expandRowKeys: Ref<string[], string[]>;
      treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
      indent: Ref<number, number>;
      lazy: Ref<boolean, boolean>;
      lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
      lazyColumnIdentifier: Ref<string, string>;
      childrenColumnName: Ref<string, string>;
      checkStrictly: Ref<boolean, boolean>;
      expandRows: Ref<T[], T[]>;
      defaultExpandAll: Ref<boolean, boolean>;
      tableSize: Ref<any, any>;
      rowKey: Ref<string | null, string | null>;
      data: Ref<T[], T[]>;
      _data: Ref<T[], T[]>;
      isComplex: Ref<boolean, boolean>;
      _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      updateOrderFns: (() => void)[];
      leafColumnsLength: Ref<number, number>;
      fixedLeafColumnsLength: Ref<number, number>;
      rightFixedLeafColumnsLength: Ref<number, number>;
      isAllSelected: Ref<boolean, boolean>;
      selection: Ref<T[], T[]>;
      reserveSelection: Ref<boolean, boolean>;
      selectOnIndeterminate: Ref<boolean, boolean>;
      selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      filters: Ref<StoreFilter, StoreFilter>;
      filteredData: Ref<T[] | null, T[] | null>;
      sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
      sortProp: Ref<string | null, string | null>;
      sortOrder: Ref<string | number | null, string | number | null>;
      hoverRow: Ref<T | null, T | null>;
    }, options: Sort): void;
    filterChange(_states: {
      _currentRowKey: Ref<string | null, string | null>;
      currentRow: Ref<T | null, T | null>;
      expandRowKeys: Ref<string[], string[]>;
      treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
      indent: Ref<number, number>;
      lazy: Ref<boolean, boolean>;
      lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
      lazyColumnIdentifier: Ref<string, string>;
      childrenColumnName: Ref<string, string>;
      checkStrictly: Ref<boolean, boolean>;
      expandRows: Ref<T[], T[]>;
      defaultExpandAll: Ref<boolean, boolean>;
      tableSize: Ref<any, any>;
      rowKey: Ref<string | null, string | null>;
      data: Ref<T[], T[]>;
      _data: Ref<T[], T[]>;
      isComplex: Ref<boolean, boolean>;
      _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      updateOrderFns: (() => void)[];
      leafColumnsLength: Ref<number, number>;
      fixedLeafColumnsLength: Ref<number, number>;
      rightFixedLeafColumnsLength: Ref<number, number>;
      isAllSelected: Ref<boolean, boolean>;
      selection: Ref<T[], T[]>;
      reserveSelection: Ref<boolean, boolean>;
      selectOnIndeterminate: Ref<boolean, boolean>;
      selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      filters: Ref<StoreFilter, StoreFilter>;
      filteredData: Ref<T[] | null, T[] | null>;
      sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
      sortProp: Ref<string | null, string | null>;
      sortOrder: Ref<string | number | null, string | number | null>;
      hoverRow: Ref<T | null, T | null>;
    }, options: Filter<T>): void;
    toggleAllSelection(): void;
    rowSelectedChanged(_states: {
      _currentRowKey: Ref<string | null, string | null>;
      currentRow: Ref<T | null, T | null>;
      expandRowKeys: Ref<string[], string[]>;
      treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
      indent: Ref<number, number>;
      lazy: Ref<boolean, boolean>;
      lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
      lazyColumnIdentifier: Ref<string, string>;
      childrenColumnName: Ref<string, string>;
      checkStrictly: Ref<boolean, boolean>;
      expandRows: Ref<T[], T[]>;
      defaultExpandAll: Ref<boolean, boolean>;
      tableSize: Ref<any, any>;
      rowKey: Ref<string | null, string | null>;
      data: Ref<T[], T[]>;
      _data: Ref<T[], T[]>;
      isComplex: Ref<boolean, boolean>;
      _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      updateOrderFns: (() => void)[];
      leafColumnsLength: Ref<number, number>;
      fixedLeafColumnsLength: Ref<number, number>;
      rightFixedLeafColumnsLength: Ref<number, number>;
      isAllSelected: Ref<boolean, boolean>;
      selection: Ref<T[], T[]>;
      reserveSelection: Ref<boolean, boolean>;
      selectOnIndeterminate: Ref<boolean, boolean>;
      selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      filters: Ref<StoreFilter, StoreFilter>;
      filteredData: Ref<T[] | null, T[] | null>;
      sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
      sortProp: Ref<string | null, string | null>;
      sortOrder: Ref<string | number | null, string | number | null>;
      hoverRow: Ref<T | null, T | null>;
    }, row: T): void;
    setHoverRow(states: {
      _currentRowKey: Ref<string | null, string | null>;
      currentRow: Ref<T | null, T | null>;
      expandRowKeys: Ref<string[], string[]>;
      treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
      indent: Ref<number, number>;
      lazy: Ref<boolean, boolean>;
      lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
      lazyColumnIdentifier: Ref<string, string>;
      childrenColumnName: Ref<string, string>;
      checkStrictly: Ref<boolean, boolean>;
      expandRows: Ref<T[], T[]>;
      defaultExpandAll: Ref<boolean, boolean>;
      tableSize: Ref<any, any>;
      rowKey: Ref<string | null, string | null>;
      data: Ref<T[], T[]>;
      _data: Ref<T[], T[]>;
      isComplex: Ref<boolean, boolean>;
      _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      updateOrderFns: (() => void)[];
      leafColumnsLength: Ref<number, number>;
      fixedLeafColumnsLength: Ref<number, number>;
      rightFixedLeafColumnsLength: Ref<number, number>;
      isAllSelected: Ref<boolean, boolean>;
      selection: Ref<T[], T[]>;
      reserveSelection: Ref<boolean, boolean>;
      selectOnIndeterminate: Ref<boolean, boolean>;
      selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      filters: Ref<StoreFilter, StoreFilter>;
      filteredData: Ref<T[] | null, T[] | null>;
      sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
      sortProp: Ref<string | null, string | null>;
      sortOrder: Ref<string | number | null, string | number | null>;
      hoverRow: Ref<T | null, T | null>;
    }, row: T): void;
    setCurrentRow(_states: {
      _currentRowKey: Ref<string | null, string | null>;
      currentRow: Ref<T | null, T | null>;
      expandRowKeys: Ref<string[], string[]>;
      treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
      indent: Ref<number, number>;
      lazy: Ref<boolean, boolean>;
      lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
      lazyColumnIdentifier: Ref<string, string>;
      childrenColumnName: Ref<string, string>;
      checkStrictly: Ref<boolean, boolean>;
      expandRows: Ref<T[], T[]>;
      defaultExpandAll: Ref<boolean, boolean>;
      tableSize: Ref<any, any>;
      rowKey: Ref<string | null, string | null>;
      data: Ref<T[], T[]>;
      _data: Ref<T[], T[]>;
      isComplex: Ref<boolean, boolean>;
      _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      updateOrderFns: (() => void)[];
      leafColumnsLength: Ref<number, number>;
      fixedLeafColumnsLength: Ref<number, number>;
      rightFixedLeafColumnsLength: Ref<number, number>;
      isAllSelected: Ref<boolean, boolean>;
      selection: Ref<T[], T[]>;
      reserveSelection: Ref<boolean, boolean>;
      selectOnIndeterminate: Ref<boolean, boolean>;
      selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      filters: Ref<StoreFilter, StoreFilter>;
      filteredData: Ref<T[] | null, T[] | null>;
      sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
      sortProp: Ref<string | null, string | null>;
      sortOrder: Ref<string | number | null, string | number | null>;
      hoverRow: Ref<T | null, T | null>;
    }, row: T): void;
  };
  commit: (name: "sort" | "setData" | "insertColumn" | "updateColumnOrder" | "removeColumn" | "changeSortCondition" | "filterChange" | "toggleAllSelection" | "rowSelectedChanged" | "setHoverRow" | "setCurrentRow", ...args: any[]) => void;
  updateTableScrollY: () => void;
  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<T>, values: string[]) => Record<string, string[]>;
  updateCurrentRow: (_currentRow: T) => void;
  updateSort: (column: TableColumnCtx<T> | 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[]) => 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<string | null, string | null>;
    currentRow: Ref<T | null, T | null>;
    expandRowKeys: Ref<string[], string[]>;
    treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
    indent: Ref<number, number>;
    lazy: Ref<boolean, boolean>;
    lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
    lazyColumnIdentifier: Ref<string, string>;
    childrenColumnName: Ref<string, string>;
    checkStrictly: Ref<boolean, boolean>;
    expandRows: Ref<T[], T[]>;
    defaultExpandAll: Ref<boolean, boolean>;
    tableSize: Ref<any, any>;
    rowKey: Ref<string | null, string | null>;
    data: Ref<T[], T[]>;
    _data: Ref<T[], T[]>;
    isComplex: Ref<boolean, boolean>;
    _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
    originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
    columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
    fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
    rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
    leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
    fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
    rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
    updateOrderFns: (() => void)[];
    leafColumnsLength: Ref<number, number>;
    fixedLeafColumnsLength: Ref<number, number>;
    rightFixedLeafColumnsLength: Ref<number, number>;
    isAllSelected: Ref<boolean, boolean>;
    selection: Ref<T[], T[]>;
    reserveSelection: Ref<boolean, boolean>;
    selectOnIndeterminate: Ref<boolean, boolean>;
    selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
    rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
    filters: Ref<StoreFilter, StoreFilter>;
    filteredData: Ref<T[] | null, T[] | null>;
    sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
    sortProp: Ref<string | null, string | null>;
    sortOrder: Ref<string | number | null, string | number | null>;
    hoverRow: Ref<T | null, T | null>;
  };
  ns: {
    namespace: vue.ComputedRef<string>;
    b: (blockSuffix?: string) => string;
    e: (element?: string) => string;
    m: (modifier?: string) => string;
    be: (blockSuffix?: string, element?: string) => string;
    em: (element?: string, modifier?: string) => string;
    bm: (blockSuffix?: string, modifier?: string) => string;
    bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
    is: {
      (name: string, state: boolean | undefined): string;
      (name: string): string;
    };
    cssVar: (object: Record<string, string>) => Record<string, string>;
    cssVarName: (name: string) => string;
    cssVarBlock: (object: Record<string, string>) => Record<string, string>;
    cssVarBlockName: (name: string) => string;
  };
  t: Translator;
};
declare class HelperStore<T extends DefaultRow> {
  Return: {
    mutations: {
      setData(states: {
        _currentRowKey: Ref<string | null, string | null>;
        currentRow: Ref<T | null, T | null>;
        expandRowKeys: Ref<string[], string[]>;
        treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
        indent: Ref<number, number>;
        lazy: Ref<boolean, boolean>;
        lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
        lazyColumnIdentifier: Ref<string, string>;
        childrenColumnName: Ref<string, string>;
        checkStrictly: Ref<boolean, boolean>;
        expandRows: Ref<T[], T[]>;
        defaultExpandAll: Ref<boolean, boolean>;
        tableSize: Ref<any, any>;
        rowKey: Ref<string | null, string | null>;
        data: Ref<T[], T[]>;
        _data: Ref<T[], T[]>;
        isComplex: Ref<boolean, boolean>;
        _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        updateOrderFns: (() => void)[];
        leafColumnsLength: Ref<number, number>;
        fixedLeafColumnsLength: Ref<number, number>;
        rightFixedLeafColumnsLength: Ref<number, number>;
        isAllSelected: Ref<boolean, boolean>;
        selection: Ref<T[], T[]>;
        reserveSelection: Ref<boolean, boolean>;
        selectOnIndeterminate: Ref<boolean, boolean>;
        selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        filters: Ref<StoreFilter, StoreFilter>;
        filteredData: Ref<T[] | null, T[] | null>;
        sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
        sortProp: Ref<string | null, string | null>;
        sortOrder: Ref<string | number | null, string | number | null>;
        hoverRow: Ref<T | null, T | null>;
      }, data: T[]): void;
      insertColumn(states: {
        _currentRowKey: Ref<string | null, string | null>;
        currentRow: Ref<T | null, T | null>;
        expandRowKeys: Ref<string[], string[]>;
        treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
        indent: Ref<number, number>;
        lazy: Ref<boolean, boolean>;
        lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
        lazyColumnIdentifier: Ref<string, string>;
        childrenColumnName: Ref<string, string>;
        checkStrictly: Ref<boolean, boolean>;
        expandRows: Ref<T[], T[]>;
        defaultExpandAll: Ref<boolean, boolean>;
        tableSize: Ref<any, any>;
        rowKey: Ref<string | null, string | null>;
        data: Ref<T[], T[]>;
        _data: Ref<T[], T[]>;
        isComplex: Ref<boolean, boolean>;
        _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        updateOrderFns: (() => void)[];
        leafColumnsLength: Ref<number, number>;
        fixedLeafColumnsLength: Ref<number, number>;
        rightFixedLeafColumnsLength: Ref<number, number>;
        isAllSelected: Ref<boolean, boolean>;
        selection: Ref<T[], T[]>;
        reserveSelection: Ref<boolean, boolean>;
        selectOnIndeterminate: Ref<boolean, boolean>;
        selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        filters: Ref<StoreFilter, StoreFilter>;
        filteredData: Ref<T[] | null, T[] | null>;
        sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
        sortProp: Ref<string | null, string | null>;
        sortOrder: Ref<string | number | null, string | number | null>;
        hoverRow: Ref<T | null, T | null>;
      }, column: TableColumnCtx<T>, parent: TableColumnCtx<T>, updateColumnOrder: () => void): void;
      updateColumnOrder(states: {
        _currentRowKey: Ref<string | null, string | null>;
        currentRow: Ref<T | null, T | null>;
        expandRowKeys: Ref<string[], string[]>;
        treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
        indent: Ref<number, number>;
        lazy: Ref<boolean, boolean>;
        lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
        lazyColumnIdentifier: Ref<string, string>;
        childrenColumnName: Ref<string, string>;
        checkStrictly: Ref<boolean, boolean>;
        expandRows: Ref<T[], T[]>;
        defaultExpandAll: Ref<boolean, boolean>;
        tableSize: Ref<any, any>;
        rowKey: Ref<string | null, string | null>;
        data: Ref<T[], T[]>;
        _data: Ref<T[], T[]>;
        isComplex: Ref<boolean, boolean>;
        _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        updateOrderFns: (() => void)[];
        leafColumnsLength: Ref<number, number>;
        fixedLeafColumnsLength: Ref<number, number>;
        rightFixedLeafColumnsLength: Ref<number, number>;
        isAllSelected: Ref<boolean, boolean>;
        selection: Ref<T[], T[]>;
        reserveSelection: Ref<boolean, boolean>;
        selectOnIndeterminate: Ref<boolean, boolean>;
        selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        filters: Ref<StoreFilter, StoreFilter>;
        filteredData: Ref<T[] | null, T[] | null>;
        sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
        sortProp: Ref<string | null, string | null>;
        sortOrder: Ref<string | number | null, string | number | null>;
        hoverRow: Ref<T | null, T | null>;
      }, column: TableColumnCtx<T>): void;
      removeColumn(states: {
        _currentRowKey: Ref<string | null, string | null>;
        currentRow: Ref<T | null, T | null>;
        expandRowKeys: Ref<string[], string[]>;
        treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
        indent: Ref<number, number>;
        lazy: Ref<boolean, boolean>;
        lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
        lazyColumnIdentifier: Ref<string, string>;
        childrenColumnName: Ref<string, string>;
        checkStrictly: Ref<boolean, boolean>;
        expandRows: Ref<T[], T[]>;
        defaultExpandAll: Ref<boolean, boolean>;
        tableSize: Ref<any, any>;
        rowKey: Ref<string | null, string | null>;
        data: Ref<T[], T[]>;
        _data: Ref<T[], T[]>;
        isComplex: Ref<boolean, boolean>;
        _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        updateOrderFns: (() => void)[];
        leafColumnsLength: Ref<number, number>;
        fixedLeafColumnsLength: Ref<number, number>;
        rightFixedLeafColumnsLength: Ref<number, number>;
        isAllSelected: Ref<boolean, boolean>;
        selection: Ref<T[], T[]>;
        reserveSelection: Ref<boolean, boolean>;
        selectOnIndeterminate: Ref<boolean, boolean>;
        selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        filters: Ref<StoreFilter, StoreFilter>;
        filteredData: Ref<T[] | null, T[] | null>;
        sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
        sortProp: Ref<string | null, string | null>;
        sortOrder: Ref<string | number | null, string | number | null>;
        hoverRow: Ref<T | null, T | null>;
      }, column: TableColumnCtx<T>, parent: TableColumnCtx<T>, updateColumnOrder: () => void): void;
      sort(states: {
        _currentRowKey: Ref<string | null, string | null>;
        currentRow: Ref<T | null, T | null>;
        expandRowKeys: Ref<string[], string[]>;
        treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
        indent: Ref<number, number>;
        lazy: Ref<boolean, boolean>;
        lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
        lazyColumnIdentifier: Ref<string, string>;
        childrenColumnName: Ref<string, string>;
        checkStrictly: Ref<boolean, boolean>;
        expandRows: Ref<T[], T[]>;
        defaultExpandAll: Ref<boolean, boolean>;
        tableSize: Ref<any, any>;
        rowKey: Ref<string | null, string | null>;
        data: Ref<T[], T[]>;
        _data: Ref<T[], T[]>;
        isComplex: Ref<boolean, boolean>;
        _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        updateOrderFns: (() => void)[];
        leafColumnsLength: Ref<number, number>;
        fixedLeafColumnsLength: Ref<number, number>;
        rightFixedLeafColumnsLength: Ref<number, number>;
        isAllSelected: Ref<boolean, boolean>;
        selection: Ref<T[], T[]>;
        reserveSelection: Ref<boolean, boolean>;
        selectOnIndeterminate: Ref<boolean, boolean>;
        selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        filters: Ref<StoreFilter, StoreFilter>;
        filteredData: Ref<T[] | null, T[] | null>;
        sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
        sortProp: Ref<string | null, string | null>;
        sortOrder: Ref<string | number | null, string | number | null>;
        hoverRow: Ref<T | null, T | null>;
      }, options: Sort): void;
      changeSortCondition(states: {
        _currentRowKey: Ref<string | null, string | null>;
        currentRow: Ref<T | null, T | null>;
        expandRowKeys: Ref<string[], string[]>;
        treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
        indent: Ref<number, number>;
        lazy: Ref<boolean, boolean>;
        lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
        lazyColumnIdentifier: Ref<string, string>;
        childrenColumnName: Ref<string, string>;
        checkStrictly: Ref<boolean, boolean>;
        expandRows: Ref<T[], T[]>;
        defaultExpandAll: Ref<boolean, boolean>;
        tableSize: Ref<any, any>;
        rowKey: Ref<string | null, string | null>;
        data: Ref<T[], T[]>;
        _data: Ref<T[], T[]>;
        isComplex: Ref<boolean, boolean>;
        _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        updateOrderFns: (() => void)[];
        leafColumnsLength: Ref<number, number>;
        fixedLeafColumnsLength: Ref<number, number>;
        rightFixedLeafColumnsLength: Ref<number, number>;
        isAllSelected: Ref<boolean, boolean>;
        selection: Ref<T[], T[]>;
        reserveSelection: Ref<boolean, boolean>;
        selectOnIndeterminate: Ref<boolean, boolean>;
        selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        filters: Ref<StoreFilter, StoreFilter>;
        filteredData: Ref<T[] | null, T[] | null>;
        sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
        sortProp: Ref<string | null, string | null>;
        sortOrder: Ref<string | number | null, string | number | null>;
        hoverRow: Ref<T | null, T | null>;
      }, options: Sort): void;
      filterChange(_states: {
        _currentRowKey: Ref<string | null, string | null>;
        currentRow: Ref<T | null, T | null>;
        expandRowKeys: Ref<string[], string[]>;
        treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
        indent: Ref<number, number>;
        lazy: Ref<boolean, boolean>;
        lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
        lazyColumnIdentifier: Ref<string, string>;
        childrenColumnName: Ref<string, string>;
        checkStrictly: Ref<boolean, boolean>;
        expandRows: Ref<T[], T[]>;
        defaultExpandAll: Ref<boolean, boolean>;
        tableSize: Ref<any, any>;
        rowKey: Ref<string | null, string | null>;
        data: Ref<T[], T[]>;
        _data: Ref<T[], T[]>;
        isComplex: Ref<boolean, boolean>;
        _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        updateOrderFns: (() => void)[];
        leafColumnsLength: Ref<number, number>;
        fixedLeafColumnsLength: Ref<number, number>;
        rightFixedLeafColumnsLength: Ref<number, number>;
        isAllSelected: Ref<boolean, boolean>;
        selection: Ref<T[], T[]>;
        reserveSelection: Ref<boolean, boolean>;
        selectOnIndeterminate: Ref<boolean, boolean>;
        selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        filters: Ref<StoreFilter, StoreFilter>;
        filteredData: Ref<T[] | null, T[] | null>;
        sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
        sortProp: Ref<string | null, string | null>;
        sortOrder: Ref<string | number | null, string | number | null>;
        hoverRow: Ref<T | null, T | null>;
      }, options: Filter<T>): void;
      toggleAllSelection(): void;
      rowSelectedChanged(_states: {
        _currentRowKey: Ref<string | null, string | null>;
        currentRow: Ref<T | null, T | null>;
        expandRowKeys: Ref<string[], string[]>;
        treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
        indent: Ref<number, number>;
        lazy: Ref<boolean, boolean>;
        lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
        lazyColumnIdentifier: Ref<string, string>;
        childrenColumnName: Ref<string, string>;
        checkStrictly: Ref<boolean, boolean>;
        expandRows: Ref<T[], T[]>;
        defaultExpandAll: Ref<boolean, boolean>;
        tableSize: Ref<any, any>;
        rowKey: Ref<string | null, string | null>;
        data: Ref<T[], T[]>;
        _data: Ref<T[], T[]>;
        isComplex: Ref<boolean, boolean>;
        _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        updateOrderFns: (() => void)[];
        leafColumnsLength: Ref<number, number>;
        fixedLeafColumnsLength: Ref<number, number>;
        rightFixedLeafColumnsLength: Ref<number, number>;
        isAllSelected: Ref<boolean, boolean>;
        selection: Ref<T[], T[]>;
        reserveSelection: Ref<boolean, boolean>;
        selectOnIndeterminate: Ref<boolean, boolean>;
        selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        filters: Ref<StoreFilter, StoreFilter>;
        filteredData: Ref<T[] | null, T[] | null>;
        sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
        sortProp: Ref<string | null, string | null>;
        sortOrder: Ref<string | number | null, string | number | null>;
        hoverRow: Ref<T | null, T | null>;
      }, row: T): void;
      setHoverRow(states: {
        _currentRowKey: Ref<string | null, string | null>;
        currentRow: Ref<T | null, T | null>;
        expandRowKeys: Ref<string[], string[]>;
        treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
        indent: Ref<number, number>;
        lazy: Ref<boolean, boolean>;
        lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
        lazyColumnIdentifier: Ref<string, string>;
        childrenColumnName: Ref<string, string>;
        checkStrictly: Ref<boolean, boolean>;
        expandRows: Ref<T[], T[]>;
        defaultExpandAll: Ref<boolean, boolean>;
        tableSize: Ref<any, any>;
        rowKey: Ref<string | null, string | null>;
        data: Ref<T[], T[]>;
        _data: Ref<T[], T[]>;
        isComplex: Ref<boolean, boolean>;
        _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        updateOrderFns: (() => void)[];
        leafColumnsLength: Ref<number, number>;
        fixedLeafColumnsLength: Ref<number, number>;
        rightFixedLeafColumnsLength: Ref<number, number>;
        isAllSelected: Ref<boolean, boolean>;
        selection: Ref<T[], T[]>;
        reserveSelection: Ref<boolean, boolean>;
        selectOnIndeterminate: Ref<boolean, boolean>;
        selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        filters: Ref<StoreFilter, StoreFilter>;
        filteredData: Ref<T[] | null, T[] | null>;
        sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
        sortProp: Ref<string | null, string | null>;
        sortOrder: Ref<string | number | null, string | number | null>;
        hoverRow: Ref<T | null, T | null>;
      }, row: T): void;
      setCurrentRow(_states: {
        _currentRowKey: Ref<string | null, string | null>;
        currentRow: Ref<T | null, T | null>;
        expandRowKeys: Ref<string[], string[]>;
        treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
        indent: Ref<number, number>;
        lazy: Ref<boolean, boolean>;
        lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
        lazyColumnIdentifier: Ref<string, string>;
        childrenColumnName: Ref<string, string>;
        checkStrictly: Ref<boolean, boolean>;
        expandRows: Ref<T[], T[]>;
        defaultExpandAll: Ref<boolean, boolean>;
        tableSize: Ref<any, any>;
        rowKey: Ref<string | null, string | null>;
        data: Ref<T[], T[]>;
        _data: Ref<T[], T[]>;
        isComplex: Ref<boolean, boolean>;
        _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
        updateOrderFns: (() => void)[];
        leafColumnsLength: Ref<number, number>;
        fixedLeafColumnsLength: Ref<number, number>;
        rightFixedLeafColumnsLength: Ref<number, number>;
        isAllSelected: Ref<boolean, boolean>;
        selection: Ref<T[], T[]>;
        reserveSelection: Ref<boolean, boolean>;
        selectOnIndeterminate: Ref<boolean, boolean>;
        selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
        filters: Ref<StoreFilter, StoreFilter>;
        filteredData: Ref<T[] | null, T[] | null>;
        sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
        sortProp: Ref<string | null, string | null>;
        sortOrder: Ref<string | number | null, string | number | null>;
        hoverRow: Ref<T | null, T | null>;
      }, row: T): void;
    };
    commit: (name: "sort" | "setData" | "insertColumn" | "updateColumnOrder" | "removeColumn" | "changeSortCondition" | "filterChange" | "toggleAllSelection" | "rowSelectedChanged" | "setHoverRow" | "setCurrentRow", ...args: any[]) => void;
    updateTableScrollY: () => void;
    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<T>, values: string[]) => Record<string, string[]>;
    updateCurrentRow: (_currentRow: T) => void;
    updateSort: (column: TableColumnCtx<T> | 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[]) => 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<string | null, string | null>;
      currentRow: Ref<T | null, T | null>;
      expandRowKeys: Ref<string[], string[]>;
      treeData: Ref<Record<string, TreeData>, Record<string, TreeData>>;
      indent: Ref<number, number>;
      lazy: Ref<boolean, boolean>;
      lazyTreeNodeMap: Ref<Record<string, T[]>, Record<string, T[]>>;
      lazyColumnIdentifier: Ref<string, string>;
      childrenColumnName: Ref<string, string>;
      checkStrictly: Ref<boolean, boolean>;
      expandRows: Ref<T[], T[]>;
      defaultExpandAll: Ref<boolean, boolean>;
      tableSize: Ref<any, any>;
      rowKey: Ref<string | null, string | null>;
      data: Ref<T[], T[]>;
      _data: Ref<T[], T[]>;
      isComplex: Ref<boolean, boolean>;
      _columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      originColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      columns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      leafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      fixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      rightFixedLeafColumns: Ref<TableColumnCtx<T>[], TableColumnCtx<T>[]>;
      updateOrderFns: (() => void)[];
      leafColumnsLength: Ref<number, number>;
      fixedLeafColumnsLength: Ref<number, number>;
      rightFixedLeafColumnsLength: Ref<number, number>;
      isAllSelected: Ref<boolean, boolean>;
      selection: Ref<T[], T[]>;
      reserveSelection: Ref<boolean, boolean>;
      selectOnIndeterminate: Ref<boolean, boolean>;
      selectable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      rowExpandable: Ref<((row: T, index: number) => boolean) | null, ((row: T, index: number) => boolean) | null>;
      filters: Ref<StoreFilter, StoreFilter>;
      filteredData: Ref<T[] | null, T[] | null>;
      sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
      sortProp: Ref<string | null, string | null>;
      sortOrder: Ref<string | number | null, string | number | null>;
      hoverRow: Ref<T | null, T | null>;
    };
    ns: {
      namespace: vue.ComputedRef<string>;
      b: (blockSuffix?: string) => string;
      e: (element?: string) => string;
      m: (modifier?: string) => string;
      be: (blockSuffix?: string, element?: string) => string;
      em: (element?: string, modifier?: string) => string;
      bm: (blockSuffix?: string, modifier?: string) => string;
      bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
      is: {
        (name: string, state: boolean | undefined): string;
        (name: string): string;
      };
      cssVar: (object: Record<string, string>) => Record<string, string>;
      cssVarName: (name: string) => string;
      cssVarBlock: (object: Record<string, string>) => Record<string, string>;
      cssVarBlockName: (name: string) => string;
    };
    t: Translator;
  };
}
type StoreFilter = Record<string, string[]>;
type Store<T extends DefaultRow> = HelperStore<T>['Return'];
//#endregion
export { type Store, type StoreFilter, type WatcherPropsData, useStore as default };