import { type Writable, type Readable } from 'svelte/store'; import type { Filter, Sort } from './'; import type { Params } from './DataHandler'; import EventHandler from './handlers/EventHandler'; export default class Context { event: EventHandler; rowsPerPage: Writable; pageNumber: Writable; search: Writable<{ value?: string; scope?: (keyof Row)[]; }>; filters: Writable[]>; filterCount: Readable; rawRows: Writable; filteredRows: Readable; pagedRows: Readable; rowCount: Readable<{ total: number; start: number; end: number; }>; pages: Readable; pagesWithEllipsis: Readable; pageCount: Readable; sort: Writable<(Sort)>; selected: Writable<(Row | Row[keyof Row])[]>; selectScope: Writable<'all' | 'currentPage'>; isAllSelected: Readable; constructor(data: Row[], params: Params); private createFilterCount; private createFilteredRows; private match; private createPagedRows; private createRowCount; private createPages; private createPagesWithEllipsis; private createPageCount; private createIsAllSelected; }