import { DoCheck, EventEmitter, OnDestroy, ViewContainerRef } from '@angular/core';
import { TableColumn } from '../../types/table-column.type';
import { BehaviorSubject } from 'rxjs';
import { ActivateEvent, CellContext, RowOrGroup, SortDirection, SortPropDir, TreeStatus } from '../../types/public.types';
import * as i0 from "@angular/core";
export declare class DataTableBodyCellComponent<TRow extends {
    level?: number;
} = any> implements DoCheck, OnDestroy {
    private cd;
    displayCheck: (row: RowOrGroup<TRow>, column: TableColumn, value: any) => boolean;
    _disable$: BehaviorSubject<boolean>;
    set disable$(val: BehaviorSubject<boolean>);
    get disable$(): BehaviorSubject<boolean>;
    set group(group: TRow[]);
    get group(): TRow[];
    set rowHeight(val: number);
    get rowHeight(): number;
    set isSelected(val: boolean);
    get isSelected(): boolean;
    set expanded(val: boolean);
    get expanded(): boolean;
    set rowIndex(val: number);
    get rowIndex(): number;
    set column(column: TableColumn);
    get column(): TableColumn;
    set row(row: TRow);
    get row(): TRow;
    set sorts(val: SortPropDir[]);
    get sorts(): SortPropDir[];
    set treeStatus(status: TreeStatus);
    get treeStatus(): TreeStatus;
    ghostLoadingIndicator: boolean;
    activate: EventEmitter<ActivateEvent<TRow>>;
    treeAction: EventEmitter<any>;
    cellTemplate: ViewContainerRef;
    ghostLoaderTemplate: ViewContainerRef;
    get columnCssClasses(): string;
    get width(): number;
    get minWidth(): number;
    get maxWidth(): number;
    get height(): string | number;
    sanitizedValue: string;
    value: any;
    sortDir: SortDirection;
    isFocused: boolean;
    cellContext: CellContext<TRow>;
    private _isSelected;
    private _sorts;
    private _column;
    private _row;
    private _group;
    private _rowHeight;
    private _rowIndex;
    private _expanded;
    private _element;
    private _treeStatus;
    constructor();
    ngDoCheck(): void;
    ngOnDestroy(): void;
    checkValueUpdates(): void;
    onFocus(): void;
    onBlur(): void;
    onClick(event: MouseEvent): void;
    onDblClick(event: MouseEvent): void;
    onKeyDown(event: KeyboardEvent): void;
    onCheckboxChange(event: MouseEvent | KeyboardEvent): void;
    calcSortDir(sorts: SortPropDir[]): SortDirection;
    stripHtml(html: string): string;
    onTreeAction(): void;
    calcLeftMargin(column: TableColumn, row: RowOrGroup<TRow>): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<DataTableBodyCellComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DataTableBodyCellComponent<any>, "datatable-body-cell", never, { "displayCheck": { "alias": "displayCheck"; "required": false; }; "disable$": { "alias": "disable$"; "required": false; }; "group": { "alias": "group"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; "isSelected": { "alias": "isSelected"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "rowIndex": { "alias": "rowIndex"; "required": false; }; "column": { "alias": "column"; "required": false; }; "row": { "alias": "row"; "required": false; }; "sorts": { "alias": "sorts"; "required": false; }; "treeStatus": { "alias": "treeStatus"; "required": false; }; "ghostLoadingIndicator": { "alias": "ghostLoadingIndicator"; "required": false; }; }, { "activate": "activate"; "treeAction": "treeAction"; }, never, never, true, never>;
}
