import { CdkDragStart, CdkDragDrop } from '@angular/cdk/drag-drop'; import * as i0 from '@angular/core'; import { EventEmitter, OnInit, OnDestroy, OnChanges, SimpleChanges } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { MatCheckboxChange } from '@angular/material/checkbox'; import { MatPaginator, PageEvent } from '@angular/material/paginator'; import { MatTable, MatTableDataSource } from '@angular/material/table'; import { Sort, SortDirection } from '@angular/material/sort'; interface UxgSort extends Sort { active: string; direction: SortDirection; } interface UxgColumn { id?: string; name: string; type: UxgColumnType; align?: 'left' | 'right' | 'center'; displayName?: string; cellTemplate?: any; cellTemplateEmiter?: EventEmitter; cellEditTemplate?: any; filter?: boolean; } declare enum UxgColumnType { string = "string", number = "number", date = "date", typedouble = "typedouble", cellTemplate = "cellTemplate" } declare enum UxgActionColumnPosition { start = "start", end = "end" } interface UxgPage { disabled?: boolean; length?: number; hidePageSize?: boolean; showFirstLastButtons?: boolean; pageIndex?: number; pageSize?: number; pageSizeOptions?: number[]; } interface UxgTableSelectEvent { singleSelect: boolean; data: any[]; } declare const UxgDefaultPaging: UxgPage; declare class TableComponent implements OnInit, OnDestroy, OnChanges { table: MatTable; paginator: MatPaginator; get data(): Array; set data(data: Array); get columnsToDisplay(): Array; set columnsToDisplay(columnsToDisplay: Array); columns: Array; showTotalRows: boolean; showTableHeader: boolean; totalData: any; _sort: UxgSort; get sort(): UxgSort; set sort(sort: UxgSort); stickyHeader: boolean; stickyFooter: boolean; columnDragEnable: boolean; private uxgMultiSelectColumn; private _selectedIndex; get selectedKeys(): number[]; set selectedKeys(selectedIndex: number[]); singleSelect: boolean; multiSelect: boolean; selectChanged: EventEmitter; multiSelectSingleRowClicked: EventEmitter; sortChanged: EventEmitter; pageEnable: boolean; paging?: UxgPage; pageChanged: EventEmitter; enableEdit: boolean; enableDelete: boolean; enableSend: boolean; actionColumnPosition: UxgActionColumnPosition; rowRemoved: EventEmitter; rowUpdated: EventEmitter; rowSend: EventEmitter; selections: any[]; dataToComponent: MatTableDataSource; columnsToDisplayToComponent: Array; columnFilters: { [key: string]: string; }; filterForm: FormGroup; previousIndex: number; private _data; private _columnsToDisplay; private uxgTableEdit; private uxgTableActionColumn; private editRowOrigin; constructor(); ngOnInit(): void; applySort(): void; ngOnChanges(changes: SimpleChanges): void; applyFilter(value: string, column: string): void; clearFilter(event: MouseEvent, inputVal: HTMLInputElement, column: UxgColumn): void; stopPropagation(event: MouseEvent): void; sortData($event: UxgSort, emit?: boolean): void; singleSelectRowClick(row: any): void; multiSelectRowClick(row: any): void; multiSelectAllRows($event: MatCheckboxChange): void; applyPageChanges($event: PageEvent): void; getTotalRowCell(column: UxgColumn): string; emitSelectEvent(): void; emitClickEvent(data: any): void; columnDragStarted($event: CdkDragStart, index: number): void; columnDropped($event: CdkDragDrop): void; rowEditClick(row: any): void; rowSendTriggered(row: any): void; rowEditConfirm(newRow: any): void; rowEditCancel(row: any): void; rowDelete(row: any): void; rowNo(row: any): number; ngOnDestroy(): void; applyDefaultPaging(): void; applyPaging(): void; localSort(sort: UxgSort): any[]; getSortColumnType(columnName: string): string | undefined; localPaging(page: PageEvent): void; resetIndexWithMultiSelectRow(index: number): number; resetActionRow(): void; isRowSelected(row: any): boolean; getSelectedIndex(row: any): number; addOrUpdateActionColumnToColumnsToDisplay(): void; removeActionColumnsFromColumnsToDisplay(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export { TableComponent, UxgActionColumnPosition, UxgColumnType, UxgDefaultPaging }; export type { UxgColumn, UxgPage, UxgSort, UxgTableSelectEvent };