import type { State, Sort, Filter, TableParams } from './'; import { EventDispatcher } from '../shared'; export default class AbstractTableHandler { protected selectBy?: keyof Row; protected event: EventDispatcher; protected search: string; protected sort: Sort; debounce: number; totalRows: number; isLoading: boolean; rowsPerPage: number; currentPage: number; filters: Filter[]; filterCount: number; rows: Row[]; rowCount: { total: number; start: number; end: number; selected: number; }; pages: number[]; pageCount: number; pagesWithEllipsis: number[]; selected: Row[keyof Row][]; isAllSelected: boolean; element: HTMLElement; clientWidth: number; constructor(data: Row[], params: TableParams); getState(): State; private createPages; private createPageCount; private createPagesWithEllipsis; private createRowCount; private createIsAllSelected; }