import { OnInit, ViewRef, Type, AfterViewInit, EventEmitter, ComponentRef, OnDestroy, OnChanges } from '@angular/core'; import { MatPaginator } from '@angular/material/paginator'; import { MatSort, SortDirection } from '@angular/material/sort'; import { Subscription } from 'rxjs'; import { TableDataSource } from './table.datasource'; import { TableColumn } from './table.column'; import { TableColumnContainer } from './table.column.container'; import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; import { DynamicComponent } from './dynamic/dynamic.component'; import { ButtonComponentEvent } from './button/button.component'; import { TableDetailPage } from './table.detail.page'; import { TableElement } from './table.element'; import { TranslateService } from '@ngx-translate/core'; export declare class DataReloadEvent { filter: any; active: string; sortOrder: SortDirection; pageNumber: number; pageSize: number; constructor(_active: string, _sortOrder?: SortDirection, _pageNumber?: number, _pageSize?: number, _filter?: any); isChanged(condition: DataReloadEvent): boolean; } export declare class DataRowClickedEvent { element: TableElement; columns: TableColumn[]; constructor(_element: TableElement, _columns: TableColumn[]); } export declare class DataHeaderClickedEvent { activeColumn: TableColumn; columns: TableColumn[]; constructor(_activeColumn: TableColumn, _columns: TableColumn[]); } export declare class DataCellClickedEvent { element: TableElement; columns: TableColumn[]; activeColumn: TableColumn; constructor(_element: TableElement, _activeColumn: TableColumn, _columns: TableColumn[]); } export declare class TableComponent implements OnInit, OnDestroy, OnChanges, AfterViewInit { private _sanitizer; private translateService; disabled: boolean; dataSource: TableDataSource; columnsContainer: TableColumnContainer; totalElements: number; expandedElement: any | null; activeRowId: string; _activeRow: TableElement; _tableId: string; _reloadEvent: any; _columns: TableColumn[]; columns: TableColumn[]; sortBy: string; sortDir: string; pagable: boolean; pageSize: number; pageSizeOptions: number[]; detailPageType: Type | null; activeRow: any; dynamicComponent: DynamicComponent; _paginator: MatPaginator; paginator: MatPaginator; _sort: MatSort; sort: MatSort; buttonClicked: EventEmitter; _buttonClickState: boolean; dataReload: EventEmitter; dataRowClicked: EventEmitter; dataRowDblClicked: EventEmitter; dataHeaderClicked: EventEmitter; dataHeaderCheckChanged: EventEmitter; dataCellClicked: EventEmitter; opened: EventEmitter; closed: EventEmitter; loading: boolean; sortSubscription: Subscription; pageSubscription: Subscription; constructor(_sanitizer: DomSanitizer, translateService: TranslateService); ngOnChanges(): void; setSortSubscription(): void; setPageSubscription(): void; ngOnInit(): void; ngOnDestroy(): void; ngAfterViewInit(): void; loadDataPage(): void; refresh(totalElements: number, list: any[], columns?: TableColumn[], $reloadEvent?: DataReloadEvent): void; sortItems(item1: any, item2: any, sortColumn: TableColumn, condition: DataReloadEvent): any; refreshData(results: any[], columns: TableColumn[], condition?: DataReloadEvent, sort?: (array: any[], sortColumn: TableColumn, condition: DataReloadEvent) => any[]): void; addData(element: any): void; removeData(element: any): void; reloadData(): void; setSelectState(selectedElementIds: string[]): void; resetSelectState(): void; transform(v: string): SafeHtml; createComponent(element: TableElement, columns: TableColumn[]): void; setView(element: TableElement, column: TableColumn, view: ViewRef): void; setDetailView(element: TableElement, view: ViewRef, detailComponent?: ComponentRef): void; getView(element: TableElement, column: TableColumn): ViewRef; getDetailView(element: TableElement): ViewRef; getDetailComponent(element: TableElement): ComponentRef; getDetailRowStatus(element: TableElement): boolean; getElements(): TableElement[]; createDetailPage(detailPage: Type, element: TableElement): void; resetDetailPage(element: TableElement): void; initDetailPage(element: TableElement): void; setRowDblClicked($event: any, element: TableElement): void; setRowClicked($event: any, element: TableElement): void; setHeaderClicked(column: TableColumn): void; setHeaderCheckerChanged(column: TableColumn): void; setHeaderCheckerClicked($event: MouseEvent): void; setCellClicked($event: any, element: TableElement, column: TableColumn): void; onButtonClicked(event: ButtonComponentEvent): void; }