import { AfterViewInit, EventEmitter, OnChanges, OnDestroy, OnInit, PipeTransform, SimpleChanges } from '@angular/core'; import { MatTableDataSource } from "@angular/material/table"; import { MatPaginator, PageEvent } from "@angular/material/paginator"; import { MatSort, SortDirection } from "@angular/material/sort"; import { Observable, Subscription } from "rxjs"; import { ConfigAndDisplayColumns } from "./edit-table-menu/models/ConfigAndDisplayColumns"; import { Row } from "./models/Row"; import { TableAction } from "./models/TableAction"; import { Page, PageSort, Sort } from "./models/PageSort"; import { TableConfigData } from "./models/TableConfigData"; import { RowColData } from "./models/RowColData"; import { ActivatedRoute, Router } from "@angular/router"; import { Column } from "./edit-table-menu/models/Column"; import { ButtonConfig } from "./models/ButtonConfig"; import { ColumnGenTable } from "./models/ColumnGenTable"; import * as i0 from "@angular/core"; export declare class TableActionTooltipPipe implements PipeTransform { transform(action: any): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } export declare class GenericTableComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy { private router; private route; tableTitle: string; rowColData: RowColData; tableConfigData: TableConfigData; tableButtonsConfig: ButtonConfig[]; saveConfigColumns: (newConfigColumns: Column[], tableId: string) => Observable; usesPageSortFilter: boolean; usesSelection: boolean; pageSortChangedEmitter: EventEmitter; configAndDisplayEmitter: EventEmitter; selectionEmitter: EventEmitter | null>; paginator: MatPaginator; displayedColumns: string[]; displayedGenTableColumns: ColumnGenTable[]; dataSource: MatTableDataSource; tableButtonProcessing: boolean; actionLoading: Map; funcSubscription: Subscription; tableActionFunctionSubscription: Subscription[]; cellActionFunctionSubscription: Subscription[]; defaultPage: Page; defaultSort: SortDirection; pageSort: PageSort; selectedIds: Set | null; allSelected: boolean; constructor(router: Router, route: ActivatedRoute); ngOnInit(): void; handlePageAndSorting(): void; initializePageSortWithDefaultColumn(tableConfigData: TableConfigData): PageSort; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; private throwErrorIfMissingColumns; ngAfterViewInit(): void; private generateAdditionalColumns; onSortData($event: MatSort): void; handleFunction(clickedButton: ButtonConfig): void; executeTableActionMethod(action: TableAction, row: Row): void; executeCellActionMethod(action: TableAction): void; updateColumns(configAndDisplay: ConfigAndDisplayColumns): void; private getNewDataSource; pageChange($event: PageEvent): void; sortChange(matSort: any): void; emitSelectedIds($event: any): void; masterToggle($event: any): void; convertMatSortToSort(matSort: MatSort): Sort; convertSortToMatSort(sort: Sort): MatSort; pushPageAndSortInURL(route: ActivatedRoute, router: Router, page: Page, sort: Sort, table: string): void; tryDecodePageSort(route: ActivatedRoute): PageSort[]; copyToClipboard(val: string): void; protected readonly SortDirection: SortDirection; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }