import * as i0 from '@angular/core'; import { OnChanges, DoCheck, EventEmitter, SimpleChanges, OnInit } from '@angular/core'; import { ReplaySubject } from 'rxjs'; type SortOrder = "asc" | "desc"; type SortByFunction = (data: T) => any; type SortBy = string | SortByFunction | (string | SortByFunction)[]; interface SortEvent { sortBy: SortBy; sortOrder: string; } interface PageEvent { activePage: number; rowsOnPage: number; dataLength: number; } interface DataEvent { length: number; } declare class DataTable implements OnChanges, DoCheck { private diff; inputData: T[]; sortBy: SortBy; sortOrder: SortOrder; sortByChange: EventEmitter>; sortOrderChange: EventEmitter; rowsOnPage: number; activePage: number; private mustRecalculateData; data: T[]; onSortChange: ReplaySubject; onPageChange: EventEmitter; constructor(); getSort(): SortEvent; setSort(sortBy: SortBy, sortOrder: SortOrder): void; getPage(): PageEvent; setPage(activePage: number, rowsOnPage: number): void; private calculateNewActivePage; private recalculatePage; ngOnChanges(changes: SimpleChanges): any; ngDoCheck(): any; private fillData; private caseInsensitiveIteratee; private compare; private sorter; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, "table[mfData]", ["mfDataTable"], { "inputData": { "alias": "mfData"; "required": false; }; "sortBy": { "alias": "mfSortBy"; "required": false; }; "sortOrder": { "alias": "mfSortOrder"; "required": false; }; "rowsOnPage": { "alias": "mfRowsOnPage"; "required": false; }; "activePage": { "alias": "mfActivePage"; "required": false; }; }, { "sortByChange": "mfSortByChange"; "sortOrderChange": "mfSortOrderChange"; }, never, never, true, never>; } declare class BootstrapPaginator { rowsOnPageSet: i0.InputSignal; mfTable: i0.InputSignal | undefined>; minRowsOnPage: i0.Signal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class Paginator implements OnChanges { private injectMfTable; readonly inputMfTable: i0.InputSignal | undefined>; private mfTable; activePage: number; rowsOnPage: number; dataLength: number; lastPage: number; ngOnChanges(): any; setPage(pageNumber: number): void; setRowsOnPage(rowsOnPage: number): void; private onPageChangeSubscriber; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DefaultSorter implements OnInit { private mfTable; readonly sortBy: i0.InputSignal>; isSortedByMeAsc: boolean; isSortedByMeDesc: boolean; ngOnInit(): void; sort(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "mfDefaultSorter", never, { "sortBy": { "alias": "by"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>; } declare class DataTableModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { BootstrapPaginator, DataTable, DataTableModule, DefaultSorter, Paginator }; export type { DataEvent, PageEvent, SortBy, SortByFunction, SortEvent, SortOrder };