import { AfterContentInit, AfterViewInit, ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, PipeTransform, SimpleChanges, TemplateRef } from '@angular/core'; import { DatePipe } from '@angular/common'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { MessageNotificaionService } from '../../services/messageNotificationService/message-notification-service.service'; import { PageEvent } from '@angular/material/paginator'; import { Router } from '@angular/router'; import { TableColumn } from './table.model'; import { PaginatedTableItemContext } from './paginated-table-item.directive'; import * as i0 from "@angular/core"; export declare class PaginatedTableComponent implements OnChanges, AfterContentInit, AfterViewInit, OnDestroy { private notificationService; private cdr; router: Router; private datePipe; readonly selectionColumnDef = "__epagSelection__"; sort: MatSort; private readonly itemTemplates?; displayedColumns: TableColumn[]; dataSource: MatTableDataSource; tableClass: string; isLoading: boolean; isSelectable: boolean; selectedRows: any[]; selectionKey?: string | ((row: any) => string); resetSelectionOnDataChange: boolean; pageSize: number; totalLength: number; saveFiltersAndNavigate: (element: any) => void; pageSizeOptions: number[]; pageIndex: number; /** * Internal page index used to drive `mat-paginator`. Kept separate from the * `pageIndex` @Input to avoid mutating an input directly. It is synced from * the input via `ngOnChanges` and updated locally when the user navigates. */ currentPageIndex: number; pageChange: EventEmitter; selectedRowsChange: EventEmitter; toggleChange: EventEmitter<{ element: any; checked: boolean; }>; columnDefs: string[]; private readonly itemTemplateMap; private itemTemplateChangesSubscription?; constructor(notificationService: MessageNotificaionService, cdr: ChangeDetectorRef, router: Router, datePipe: DatePipe); ngOnChanges(changes: SimpleChanges): void; ngAfterContentInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; onPageChange(event: PageEvent): void; copyToClipboard(value: string): void; isTextOverflowing(element: HTMLElement | null): boolean; getQueryParams(queryParams: any, element: any): any; onToggleChange(element: any, checked: boolean): void; onToggleRowSelection(row: any, checked: boolean): void; onToggleAllRows(checked: boolean): void; isRowSelected(row: any): boolean; isAllCurrentRowsSelected(): boolean; isSelectionIndeterminate(): boolean; hasItemTemplate(columnDef: string): boolean; getItemTemplate(columnDef: string): TemplateRef | null; getItemTemplateContext(column: TableColumn, element: any): PaginatedTableItemContext; getNestedValue(element: any, path: string): any; applyDynamicPipe(value: any, pipe: string | PipeTransform, args?: any[]): any; private applyAngularPipe; private rebuildItemTemplateMap; private updateColumnDefs; private getCurrentRows; private hasSelectedRow; private addRowsByIdentity; private removeRowsByIdentity; private areRowsEquivalent; private areRowsEquivalentBySelectionKey; private getSelectionKeyValue; private areRowsEquivalentByIdColumn; private getIdColumnDef; private areRowsEquivalentByJson; private safeStringify; private setSelectedRows; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }