import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { ColumnMode, SelectionType } from '@swimlane/ngx-datatable'; import { IconName } from '../shared/icon/icon.component'; import { Page, PaginationControlsDirective } from 'ngx-pagination'; import * as i0 from "@angular/core"; export declare enum ColumnType { text = "text", image = "image" } export interface Column { id?: string; prop: string; name?: string; maxWidth?: number; hiddeOnMobile?: boolean; hiddeOnDesktop?: boolean; hiddeOnSmallDesktop?: boolean; hiddeOnTablet?: boolean; type?: ColumnType; compound?: { [key: string]: string[]; }; formatter?: (value: any, row: Row) => string; } export interface Row { [key: string]: string | number | boolean | undefined | string[] | number[] | boolean[] | null; selected?: boolean; } export interface Action { icon: IconName; action: (row: Row) => void; } export interface TableProps { rows: Row[]; filtered: Row[]; offset: number; pageSize?: number; showPaginator?: boolean; showActions?: boolean; isSelectable?: boolean; noRowHover?: boolean; totalPages?: boolean; totalItems?: number; lazy?: boolean; emptyMessage?: string; actions?: Action[]; columns: Column[]; id?: string; filter?: string | number; selectAllRows: () => void; deselectAllRows: () => void; goToFirstPage: () => void; toggleUnread: (row: Row) => void; setRowsAsUnread: () => void; removeSelectedRowsClass: () => void; } export interface PageChangeEvent { offset: number; } export interface RowClickEvent { row: Row; type: RowEvents; cellElement: HTMLElement; rowElement: HTMLElement; } export declare enum RowEvents { click = "click" } export declare class CustomTableComponent implements OnInit, OnChanges, AfterViewInit { private translate; private el; id: string; rows: Row[]; columns: Column[]; actions?: Action[]; pageSize?: number; filter?: string | number; showPaginator?: boolean; isSelectable?: boolean; showActions?: boolean; noRowHover?: boolean; lazy?: boolean; totalItems: number; emptyMessage?: string; onSelection: EventEmitter; itemSelected: EventEmitter; itemClick: EventEmitter; _onPageChange: EventEmitter; selectedAll: EventEmitter; tableActions?: TemplateRef; page?: PaginationControlsDirective; currentPage: number; emptyTitle: string; defaultFirstColumnWidth: number; defaultLastColumnWidth: number; checkboxColumnWidth: number; checkboxColumnWidthTablet: number; selectionType: SelectionType; selected: Column[]; defaultHeaderText: string; visibleColumns: Column[]; columnMode: ColumnMode; footerHeight: number; firstElementIndex: number; autoWidthColumnsIndex: number; notMatchIndex: number; defaultOffset: number; table?: TableProps; filtered: Row[]; to: number; from: number; columnType: typeof ColumnType; private zero; private one; constructor(translate: TranslateService, el: ElementRef); ngOnInit(): void; ngAfterViewInit(): void; ngOnChanges(changes: SimpleChanges): void; setVisibleColumns(): void; onPageChange(page: number): void; removeSelectedRowsClass(): void; get messages(): object; get windowWidth(): number; get isMobileScreen(): boolean; get isTableScreen(): boolean; get isDesktopScreen(): boolean; get totalItemsCount(): number; translateColumnName(columnName?: string): string; selectAllRows(): void; deselectAllRows(): void; toggleSelection(row: Row): void; setSelected(row: Row, event: MouseEvent): void; updateFilter(value: string): void; calculateRange(): void; onActivate(event: RowClickEvent): void; executeAction(action: Action, row: Row, event: MouseEvent): void; stopPropagation(event: MouseEvent): void; setRowActive(event: MouseEvent): void; previousPage(page: PaginationControlsDirective): void; nextPage(page: PaginationControlsDirective): void; goToPage(currentPage: Page, page: PaginationControlsDirective): void; goToFirstPage(): void; setRowsAsUnread(): void; toggleUnread(row: Row): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }