import { OnChanges, AfterContentInit, EventEmitter, ElementRef, Renderer2, ChangeDetectorRef, OnDestroy } from '@angular/core';
import { UntypedFormGroup } from '@angular/forms';
import { Grid } from '../../lib/grid';
import { TbodyCollapseContentDirective } from './tbody-collapse-content.directive';
import { Row } from '../../../../lib/table/lib/data-set/row';
import * as i0 from "@angular/core";
export declare class Ng2SmartTableTbodyComponent implements OnChanges, AfterContentInit, OnDestroy {
    private element;
    private renderer;
    private cdr;
    editingFormGroup: UntypedFormGroup;
    grid: Grid;
    deleteConfirm: EventEmitter<any>;
    editConfirm: EventEmitter<any>;
    rowClassFunction: Function;
    collapseTableContent: TbodyCollapseContentDirective;
    updateColumnList: any;
    cancelEdit: EventEmitter<any>;
    userRowSelect: EventEmitter<any>;
    save: EventEmitter<any>;
    cancel: EventEmitter<any>;
    edit: EventEmitter<any>;
    editSave: EventEmitter<any>;
    delete: EventEmitter<any>;
    rowActionCustomEvent: EventEmitter<any>;
    rowActionDownloadCustomEvent: EventEmitter<any>;
    edited: EventEmitter<any>;
    userSelectRow: EventEmitter<any>;
    editRowSelect: EventEmitter<any>;
    multipleSelectRow: EventEmitter<any>;
    rowHover: EventEmitter<any>;
    selectedElem: EventEmitter<any>;
    tableBody: HTMLElement;
    actionIcons: any[];
    colorRow: boolean;
    isMultiSelectVisible: boolean;
    showActionColumnRight: boolean;
    mode: string;
    editInputClass: string;
    isActionAdd: boolean;
    isActionEdit: boolean;
    isActionDelete: boolean;
    tableCollapsible: any;
    rowsCollapsible: boolean[];
    noDataMessage: boolean;
    getExtraColumn: number;
    private subscription$;
    constructor(element: ElementRef, renderer: Renderer2, cdr: ChangeDetectorRef);
    ngAfterContentInit(): void;
    ngOnChanges(): void;
    ngOnDestroy(): void;
    onRowHover(row: Row): void;
    onRowHoverEnter(rowObj: Row): boolean;
    onRowHoverLeave(rowObj: Row): boolean;
    getThisRowActionIcons(row: any): any;
    /**
     * Check if ANY row is being edited.
     */
    rowEditing(): boolean;
    rowCollapsed(evt: Event, row: Row): void;
    collapseRow(row: Row): void;
    /**
     * This method emit the row to instalation and expand the row.
     *
     * @param row - The row to be edited.
     */
    onEditRowCollappsed(row: Row): void;
    /**
     * This method close the expanded row.
     *
     * @param row - The row where cancel accours.
     */
    onEditCancel(row: Row): void;
    /**
     * This method count how many rows are collapsed before row index.
     * It's necessary to hovering the correct row.
     *
     * @param rowIdx - The index of the row.
     */
    howManyItemsAreOpenBeforeMe(rowIdx: number): number;
    onSelectRow(row: Row, evt: Event): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<Ng2SmartTableTbodyComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<Ng2SmartTableTbodyComponent, "[ng2-st-tbody]", never, { "editingFormGroup": "editingFormGroup"; "grid": "grid"; "deleteConfirm": "deleteConfirm"; "editConfirm": "editConfirm"; "rowClassFunction": "rowClassFunction"; "collapseTableContent": "collapseTableContent"; "updateColumnList": "updateColumnList"; "cancelEdit": "cancelEdit"; "userRowSelect": "userRowSelect"; }, { "save": "save"; "cancel": "cancel"; "edit": "edit"; "editSave": "editSave"; "delete": "delete"; "rowActionCustomEvent": "rowActionCustomEvent"; "rowActionDownloadCustomEvent": "rowActionDownloadCustomEvent"; "edited": "edited"; "userSelectRow": "userSelectRow"; "editRowSelect": "editRowSelect"; "multipleSelectRow": "multipleSelectRow"; "rowHover": "rowHover"; "selectedElem": "selectedElem"; }, never, never, false>;
}
export declare class TbodyCustomComponent {
    private parentComponent;
    grid: Grid;
    row: Row;
    rowActionCustomEvent: EventEmitter<any>;
    rowActionDownloadCustomEvent: EventEmitter<any>;
    constructor(parentComponent: Ng2SmartTableTbodyComponent);
    onCustom(action: any, event: any): void;
    downloadInnerEventEmited(objData: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TbodyCustomComponent, [{ host: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TbodyCustomComponent, "ng2-st-tbody-custom", never, { "grid": "grid"; "row": "row"; }, { "rowActionCustomEvent": "rowActionCustomEvent"; "rowActionDownloadCustomEvent": "rowActionDownloadCustomEvent"; }, never, never, false>;
}
