import { ChangeDetectorRef, EventEmitter, Injector, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { TableColumn, TableOptions, TableRowExpandEmitter } from '@ironsource/fusion-ui/components/table/common/entities';
import { TableService } from '@ironsource/fusion-ui/components/table/common/services';
import { Observable } from 'rxjs';
import { ColumnData } from './column-data';
import { TableRow } from '@ironsource/fusion-ui/components/table/common/entities';
import { IconData } from '@ironsource/fusion-ui/components/icon/v1';
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 TableRowComponent implements OnInit, OnChanges {
    tableService: TableService;
    private cdRef;
    private injector;
    rowIndex: string | number;
    rowSpanIndex: number;
    row: TableRow;
    options: TableOptions;
    columns: TableColumn[];
    isRemovableOnHover: boolean;
    isRowSelected: boolean;
    isExpanded: boolean;
    isInnerRow: boolean;
    hasAfterSticky: boolean;
    /** @internal */
    testId: string;
    rowRemoved: EventEmitter<any>;
    selectedChange: EventEmitter<any>;
    expandRow: EventEmitter<TableRowExpandEmitter>;
    dataRowIndex: string | number;
    get isRowExpanded(): boolean;
    get isInnerRowExpandable(): boolean;
    get isRowTotal(): boolean;
    get isRowReadOnly(): boolean;
    expandArrowIconName: IconData;
    columnsData: ColumnData[];
    cellShown: any;
    attrRowspan: any;
    /** @internal */
    tableTestIdModifiers: typeof TableTestIdModifiers;
    /** @internal */
    testIdsService: TestIdsService;
    get expandCellCount(): Observable<number[]>;
    hasTooltip(key: string, row: TableRow): boolean;
    getCellTooltip(key: string, row: any): string;
    infoIconOnHooverToolTip(options: TableOptions, row: TableRow): string;
    rowRemoveIconOptions(options: TableOptions, row: TableRow): {
        hideRemoveIcon: boolean;
    };
    constructor(tableService: TableService, cdRef: ChangeDetectorRef, injector: Injector);
    ngOnInit(): void;
    ngOnChanges({ options, columns, row }: SimpleChanges): void;
    onDataChange(options: any, rowKey: any): void;
    trackByFn(index: any, item: any): any;
    showExpandIcon(): boolean;
    getCellColspan(isFirstDataCell: boolean, cellColspan?: number, expandLevel?: number): number | undefined;
    getAttrRowspan(columnKey: string): number;
    /**
     * Show regular cell "isNullOrUndefined(this.rowSpanIndex)"
     * or if cell has rowspan index "!isNullOrUndefined(this.rowSpanIndex)" and key for multirow
     * @internal
     */
    showCell(columnKey: string): boolean;
    private getColumnsData;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableRowComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableRowComponent, "[fusionTableRow]", never, { "rowIndex": { "alias": "rowIndex"; "required": false; }; "rowSpanIndex": { "alias": "rowSpanIndex"; "required": false; }; "row": { "alias": "row"; "required": false; }; "options": { "alias": "options"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "isRemovableOnHover": { "alias": "isRemovableOnHover"; "required": false; }; "isRowSelected": { "alias": "isRowSelected"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "isInnerRow": { "alias": "isInnerRow"; "required": false; }; "hasAfterSticky": { "alias": "hasAfterSticky"; "required": false; }; "testId": { "alias": "testId"; "required": false; }; }, { "rowRemoved": "rowRemoved"; "selectedChange": "selectedChange"; "expandRow": "expandRow"; }, never, never, false, never>;
}
