import { OnInit, OnDestroy, AfterViewInit, TemplateRef, AfterContentInit, ChangeDetectorRef, EventEmitter, QueryList, SimpleChanges } from '@angular/core'; import { IdService } from '../../shared/services/id.service'; import { Column, Locale, Row, DataTypes } from './datatable.models'; import { sortTypes } from '../../shared/types/common'; import { DatatableService } from './datatable.service'; import { DatatableGlobalSearcherComponent } from './datatable-global-searcher/datatable-global-searcher.component'; import { IDatatableGlobalSearchEvent } from './datatable-global-searcher/datatable-global-searcher.type'; import { DatatableColumnFilterComponent } from './datatable-column-filter/datatable-column-filter.component'; import { DatatableAdvancedSearcherComponent } from './datatable-advanced-searcher/datatable-advanced-searcher.component'; import { IDatatableAdvancedSearchEvent } from './datatable-advanced-searcher/datatable-advanced-seacher.type'; import { DatatablePaginatorComponent } from './datatable-paginator/datatable-paginator.component'; import { IDatatablePaginatorEvent, IDatatablePageSizeEvent } from './datatable-paginator/datatable-paginator.types'; import { ICheckboxUpdateEvent } from '../checkbox/checkbox.types'; import { IDatatableRowSelectedEvent, IDatatableSortEvent } from './datatable.types'; import { IGenericSelectOption } from '../../shared/types/forms'; export declare class DatatableComponent implements OnInit, OnDestroy, AfterViewInit, AfterContentInit { private idService; private changeDetector; private datatableService; id: string; advancedSearch: boolean; columnFixed: boolean; columns: Column[]; columnsGroup: boolean; compact: boolean; copy: boolean; customizableColumns: boolean; customizableColumnsDisplay: boolean; downloadJson: boolean; downloadCsv: boolean; editable: boolean; expandableRow: boolean; expandableRowArrow: boolean; expandableRowContentValidator: (...any: any[]) => boolean; globalSearch: boolean; headerFixed: boolean; maxTableBodyHeight: number; locale: Locale; pagination: boolean; paginationDisplay: number[]; paginationDisplayPreselected: string; responsiveColumns: boolean; rows: Row[]; selectableRows: boolean; sortable: boolean; preventSort: boolean; title: string; onAllRowsSelected: EventEmitter; onAllRowsDeselected: EventEmitter<{}>; onEditAllButtonClicked: EventEmitter<{}>; onSaveAllButtonClicked: EventEmitter<{}>; onEditRowButtonClicked: EventEmitter; onSaveRowButtonClicked: EventEmitter; onRowExpanded: EventEmitter; onRowDeexpanded: EventEmitter; onRowSelected: EventEmitter; onRowDeselected: EventEmitter; onPaginatorButtonClicked: EventEmitter; onPageSizeSelectChanged: EventEmitter; onColumnsChanged: EventEmitter; onSortChanged: EventEmitter; onGlobalSearchFocusout: EventEmitter; onGlobalSearchTermUpdate: EventEmitter; globalSearcherComponent: DatatableGlobalSearcherComponent; columnFilterComponent: DatatableColumnFilterComponent; advancedSearcherComponents: QueryList; paginatorComponent: DatatablePaginatorComponent; DataTypes: typeof DataTypes; selectAll: boolean; editingAll: boolean; rowEditing: boolean; editingRow: any; selectAllLabel: string; sortLabel: string; sortUpLabel: string; sortDownLabel: string; expandRowLabel: string; expandedRows: Row[]; buttonCloseTxt: string; sortedColumn: Column; sortedColumnIndex: number; sortType: sortTypes; filteredRows: Row[]; selectedRows: Row[]; currentPage: number; isGlobalSearchable: boolean; globalSearchTerm: string; advancedSearchObjects: IDatatableAdvancedSearchEvent[]; loading: boolean; copyFeedbackActive: boolean; mainColumnPresent: boolean; tBodyWidth: string; isIE: boolean; showDefaultRow: boolean; private _currentPageSize; rowUserTemplate: TemplateRef; expandRowUserTemplate: TemplateRef; paginationUserTemplate: TemplateRef; rowCellUserTemplate: TemplateRef; rowCellFixedUserTemplate: TemplateRef; currentPageSize: number; readonly displayedRowsOnPage: Row[]; readonly totalPages: number; readonly paginatedRows: Row[]; readonly headerFixedStyle: object; constructor(idService: IdService, changeDetector: ChangeDetectorRef, datatableService: DatatableService); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; ngAfterContentInit(): void; ngOnDestroy(): void; allRowsSelectedUpdate(event: ICheckboxUpdateEvent): void; rowSelected(event: any, index: number, row: Row): void; isExpandedRowValid(row: any): boolean; isRowExpanded(row: Row): boolean; onExpandArrowClicked(row: Row, index: number): void; sort(col: Column, colIndex: number): void; getCellDisplayValueByColumnIndex(row: Row, colIndex: number, col: Column): string; getCellDisplayValue(value: any, col: Column): string; getCellByColumnIndex(row: Row, colIndex: number): any; onCellValueChanges(changeEvent: IGenericSelectOption | string, row: Row, col: Column, colIndex?: number): void; selectOptions_currency(value: string): IGenericSelectOption[]; getColumnByColumnIndex(colIndex: number): Column; columnsGroupColspan(cols: Column[]): number[]; isSortableColumn(colIndex: number): boolean; sortFilteredRows(col: Column, colIndex: number, sortType: sortTypes): void; editAllButtonClickHandler(event: any): void; saveAllButtonClickHandler(event: any): void; editRowButtonClickHandler(row: Row): void; saveRowButtonClickHandler(row: Row): void; emitCopyEvent(event: any): void; generateCopy(): string; generateJSON(event: any): void; generateCSV(event: any): void; downloadData(blob: Blob, filename: string): void; overwriteClipboardData(e: ClipboardEvent): void; resetFilteredRows(): void; advancedSearchObjectUpdateHandler(advancedSearchEvent: IDatatableAdvancedSearchEvent): void; filterRowsByAdvancedSearch(): void; globalSearchFocusoutHandler(globalSearchEvent: IDatatableGlobalSearchEvent): void; globalSearchTermUpdateHandler(newTermEvent: IDatatableGlobalSearchEvent): void; filterRowsByGlobalSearch(): void; paginatorButtonClickHandler(paginatorEvent: IDatatablePaginatorEvent): void; pageSizeSelectChangeHandler(pageSizeEvent: IDatatablePageSizeEvent): void; columnFilterCheckboxUpdateHandler(selectedColumns: Column[]): void; trackColumns(index: number, col: Column): string; trackColspanColumns(index: number, colspan: number): string; trackRows(index: number, row: Row): string; onWindowSizeChanged(): void; }