import type { Field, TableParams } from './'; import { EventDispatcher } from '../shared'; import { type Search, type Filter, type Query, type Sort } from './core'; export default abstract class AbstractTableHandler { protected selectBy?: Field; protected selectScope: "all" | "currentPage"; protected highlight: boolean; protected event: EventDispatcher; protected rawRows: Row[]; protected search: Search; protected sort: Sort; filters: Filter[]; queries: Query[]; rowsPerPage: number; currentPage: number; element: HTMLElement; clientWidth: number; filterCount: number; allRows: readonly $state.Snapshot[]; rows: readonly $state.Snapshot[]; rowCount: { total: number; start: number; end: number; selected: number; }; pages: readonly number[]; pageCount: number; pagesWithEllipsis: readonly number[]; selected: unknown[]; isAllSelected: boolean; constructor(data: Row[], params: TableParams); private createAllRows; private createRows; private createRowCount; private createPages; private createPagesWithEllipsis; private createIsAllSelected; }