import { OnInit, EventEmitter, ElementRef, ChangeDetectorRef, OnDestroy } from '@angular/core';
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 } from '@ironsource/fusion-ui/components/table/common/entities';
import { TableBasicComponent } from './components/table-basic/table-basic.component';
import * as i0 from "@angular/core";
export declare class TableComponent implements OnInit, OnDestroy {
    tableService: TableService;
    private uniqueService;
    private cdr;
    id: string;
    options: TableOptions;
    columns: TableColumn[];
    set rows(value: any[] | TableRowsGrouped);
    loading: boolean;
    sortTableOnDataChanges: boolean;
    set expandedRows(value: {
        [key: string]: boolean;
    });
    sortChanged: EventEmitter<any>;
    selectionChanged: EventEmitter<any>;
    rowModelChange: EventEmitter<import("@ironsource/fusion-ui/components/table/common/entities").TableRowChangedData>;
    rowClicked: EventEmitter<{
        $event: MouseEvent;
        rowIndex: string;
        rowEl: Element;
        rowData: any;
    }>;
    scrollDown: EventEmitter<any>;
    expandRow: EventEmitter<TableRowExpandEmitter>;
    expandedRowsChange: EventEmitter<{
        [key: string]: boolean;
    }>;
    stringCell: any;
    checkboxCell: any;
    templateCell: any;
    tableElement: ElementRef;
    tableWrapperElement: ElementRef;
    tableBodyComponent: TableBasicComponent;
    get isFixedHeader(): boolean;
    get isEmpty(): boolean;
    get isLoading(): boolean;
    isScrollRight: boolean;
    get onVerticalScroll(): boolean;
    isRowsInit: boolean;
    noDataMessage: string;
    noDataSubMessage: string;
    hideHeaderOnEmpty: boolean;
    isAllRowsSelectable: boolean;
    configIconNames: TableIconsConfigByStyle;
    wrapperClasses: string[];
    tableMainError: boolean;
    get isCheckboxTitleShown(): boolean;
    get isLoadingOverlay(): boolean;
    get tableRows(): any[];
    get groupedTableRows(): TableRowsGrouped;
    get colsCount(): number;
    get expandedRows(): {
        [key: string]: boolean;
    };
    get rows(): any[] | TableRowsGrouped;
    private lastScrollLeftValue;
    private _expandedRows;
    private currentExpandedMap;
    private ignoredParentSelectorsRowClickEvent;
    private onDestroy$;
    private _rows;
    constructor(tableService: TableService, uniqueService: UniqueIdService, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    onHeaderClicked(col: any): void;
    filterColumn(column: any, filterIn: any): void;
    replaceSelectedRows({ selectedTableRows, iditicationFunc }: {
        selectedTableRows: any[];
        iditicationFunc: (row: any) => number;
    }): void;
    doExpandRow({ rowIndex, row, isExpanded, successCallback, failedCallback, updateMap }: TableRowExpandEmitter): void;
    trackByFunc(index: any, column: any): any;
    getTableClientWidth(): number;
    onTableBodyClicked($event: MouseEvent): void;
    private initRows;
    private doLocalSorting;
    private isElementChildOfSuppressed;
    private updateExpandedRowsMap;
    private onExternalExpandRowChanged;
    private callOnExpandRow;
    private getRowsToExpandToggle;
    private getWrapperClasses;
    private scrollListeners;
    private localSorting;
    private onScroll;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent, "fusion-table", never, { "id": { "alias": "id"; "required": false; }; "options": { "alias": "options"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "sortTableOnDataChanges": { "alias": "sortTableOnDataChanges"; "required": false; }; "expandedRows": { "alias": "expandedRows"; "required": false; }; }, { "sortChanged": "sortChanged"; "selectionChanged": "selectionChanged"; "rowModelChange": "rowModelChange"; "rowClicked": "rowClicked"; "scrollDown": "scrollDown"; "expandRow": "expandRow"; "expandedRowsChange": "expandedRowsChange"; }, never, never, false, never>;
}
