import { ShallowRef } from 'vue'; import { PagetableInstance } from '../Pagetable'; interface PaginationProps { currentPage: number; pageSize: number; pageSizes?: number[]; total?: number; } type LoadDataFn = (self: { data: Row[]; pagination: PaginationProps; tailData: Tail | undefined; toggleRowSelection: (row: Row, selected?: boolean) => void; toggleAllSelection: () => void; setCurrentRow: (row: Row) => void; }) => Promise; interface UsePagetableOptions { tableRef?: Readonly>; onLoadData: LoadDataFn; afterSelectionChange?: (newSelection: Row[]) => void; afterCurrentRowChange?: (currentRow: Row, oldCurrentRow: Row) => void; defaultData?: Row[]; defaultPagination?: PaginationProps; } declare const usePagetable: (options: UsePagetableOptions) => { data: Row[]; pagination: { currentPage: number; pageSize: number; pageSizes?: number[] | undefined; total?: number | undefined; }; tailData: Tail | undefined; selection: Row[]; currentRow: Row | undefined; onSelectionChange: (newSelection: Row[]) => void; onCurrentRowChange: (newCurrentRow: Row, oldCurrentRow: Row) => void; clearSelection: () => void; toggleRowSelection: (row: Row, selected?: boolean) => void; toggleAllSelection: () => void; getSelectionRows: () => Row[]; setCurrentRow: (row: Row) => void; loadData: () => Promise; }; export default usePagetable;