import { OnInit, EventEmitter, ElementRef, ChangeDetectorRef, OnDestroy, Injector } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import { TableService } from '@ironsource/fusion-ui/components/table/common/services'; import { UniqueIdService } from '@ironsource/fusion-ui/services/unique-id'; import { TableRowsGrouped, TableColumn, TableOptions, TableRowExpandEmitter, TableIconsConfigByStyle, TableRow } from '@ironsource/fusion-ui/components/table/common/entities'; import { TableBasicComponent } from './components/table-basic/table-basic.component'; import { MenuDropItem } from '@ironsource/fusion-ui/components/menu-drop'; import { FormControl } from '@angular/forms'; import { TableTestIdModifiers } from '@ironsource/fusion-ui/entities'; import { TestIdsService } from '@ironsource/fusion-ui/services/test-ids'; import * as i0 from "@angular/core"; export declare class TableComponent implements OnInit, OnDestroy { /** @internal */ tableService: TableService; private uniqueService; private cdr; private injector; /** @internal */ id: string; /** * Table Options (configuration) * @param value: TableOptions */ set options(value: TableOptions); get options(): TableOptions; /** * Table columns configuration * columns: TableColumn[] */ set columns(value: TableColumn[]); /** * Table rows data * rows: {[key: string]: any}[] */ set rows(value: any[] | TableRowsGrouped); loading: boolean; /** @internal */ sortTableOnDataChanges: boolean; /** @internal */ set expandedRows(value: { [key: string]: boolean; }); /** @internal */ testId: string; /** * On Sort changed */ sortChanged: EventEmitter; /** * On rows selection changed */ selectionChanged: EventEmitter; /** * On Row model (data) changed */ rowModelChange: EventEmitter; /** * On Row clicked */ rowClicked: EventEmitter<{ $event: MouseEvent; rowIndex: string; rowEl: Element; rowData: any; }>; /** * On scroll down. Used for get new paged data portion */ scrollDown: EventEmitter; /** * On Row action clicked */ rowActionClicked: EventEmitter<{ action: MenuDropItem; rowIndex: string | number; row: TableRow; }>; /** * on expand icon clicked. No need in case static data and one expand level * @internal */ expandRow: EventEmitter; /** * two-way binding for expandedRows map used in case no expandRow subscription in host for sync this value * @internal */ expandedRowsChange: EventEmitter<{ [key: string]: boolean; }>; /** @internal */ stringCell: any; /** @internal */ checkboxCell: any; /** @internal */ templateCell: any; /** @internal */ tableElement: ElementRef; /** @internal */ tableWrapperElement: ElementRef; /** @internal */ tableBodyComponent: TableBasicComponent; get isFixedHeader(): boolean; get noTableFrame(): boolean; get noTableFooter(): boolean; get isEmpty(): boolean; get isLoading(): boolean; /** @internal */ isScrollRight: boolean; get onVerticalScroll(): boolean; /** @internal */ isRowsInit: boolean; /** @internal */ noDataMessage: string; /** @internal */ noDataSubMessage: string; /** @internal */ hideHeaderOnEmpty: boolean; /** @internal */ isAllRowsSelectable: boolean; /** @internal */ configIconNames: TableIconsConfigByStyle; /** @internal */ wrapperClasses: string[]; /** @internal */ tableMainError: boolean; /** @internal */ shownGoTopButton$: BehaviorSubject; /** @internal */ subHeader: { name: string; colspan: number; }[]; /** @internal */ searchFormControl: FormControl; /** @internal */ tableTestIdModifiers: typeof TableTestIdModifiers; /** @internal */ testIdsService: TestIdsService; get isCheckboxTitleShown(): boolean; get isLoadingOverlay(): boolean; get tableRows(): any[]; get groupedTableRows(): TableRowsGrouped; get colsCount(): number; get expandedRows(): { [key: string]: boolean; }; get scrollElement(): HTMLElement; get rows(): any[] | TableRowsGrouped; get columns(): TableColumn[]; private lastScrollLeftValue; private _expandedRows; private currentExpandedMap; private ignoredParentSelectorsRowClickEvent; private onDestroy$; private _options; private _rows; private _columns; constructor( /** @internal */ tableService: TableService, uniqueService: UniqueIdService, cdr: ChangeDetectorRef, injector: Injector); ngOnInit(): void; ngOnDestroy(): void; /** @internal */ onHeaderClicked(col: any): void; /** @internal */ filterColumn(column: any, filterIn: any): void; /** @internal */ replaceSelectedRows({ selectedTableRows, iditicationFunc }: { selectedTableRows: any[]; iditicationFunc: (row: any) => number; }): void; /** @internal */ doExpandRow({ rowIndex, row, isExpanded, successCallback, failedCallback, updateMap }: TableRowExpandEmitter): void; /** @internal */ trackByFunc(index: any, column: any): any; /** @internal */ getTableClientWidth(): number; /** @internal */ onTableBodyClicked($event: MouseEvent): void; /** @internal */ onClickReturnTop(): void; private initRows; private getSubHeaders; private doLocalSorting; private isElementChildOfSuppressed; private updateExpandedRowsMap; private onExternalExpandRowChanged; private callOnExpandRow; private getRowsToExpandToggle; private getWrapperClasses; private scrollListeners; private localSorting; private onScroll; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }