import { Component, EventEmitter, OnChanges, OnInit, SimpleChanges, Type } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { TableService } from '@ironsource/fusion-ui/components/table/common/services';
import { FormControl } from '@angular/forms';
import { InputInlineComponent } from '@ironsource/fusion-ui/components/input-inline/v1';
import { AdvancedInputInline } from '@ironsource/fusion-ui/components/input-inline/common/base';
import { TableModuleOptions, CellPosition, TableColumn, TableOptions } from '@ironsource/fusion-ui/components/table/common/entities';
import { LogService } from '@ironsource/fusion-ui/services/log';
import { DynamicComponentConfiguration } from '@ironsource/fusion-ui/components/dynamic-components/common/entities';
import { IconData } from '@ironsource/fusion-ui/components/icon/common/entities';
import * as i0 from "@angular/core";
type CellDataType = Type<Component> | FormControl | string | boolean | undefined | null;
export declare class TableCellComponent implements OnInit, OnChanges {
    tableService: TableService;
    private tableModuleOptions;
    private logService;
    set data(value: CellDataType);
    column: TableColumn;
    row: {
        [key: string]: any;
    };
    options: TableOptions;
    position: CellPosition;
    infoIconTooltip: string;
    isRemove: boolean;
    isRowSelected: boolean;
    isLastColumn: boolean;
    customClass: {
        [columnKey: string]: string;
    };
    isReadOnly: boolean;
    selectedChange: EventEmitter<any>;
    dataChange: EventEmitter<any>;
    remove: EventEmitter<any>;
    inlineInputEdit: InputInlineComponent;
    cellBorders: boolean;
    isInlineRemovable: boolean;
    get isCellEditable(): boolean;
    get sticky(): boolean;
    get stickyLeft(): string;
    isInRequest$: BehaviorSubject<boolean>;
    cellLRPadding: string;
    innerElementWidth: string;
    isInEditMode: boolean;
    initInputData: string | boolean | undefined | null | AdvancedInputInline;
    inputError$: BehaviorSubject<string>;
    notAvailableText: string;
    isNull: (object: any) => boolean;
    isNullOrUndefined: (object: any) => boolean;
    customCellData: DynamicComponentConfiguration;
    get data(): CellDataType;
    get cellStringData(): string;
    get isRowTotal(): boolean;
    get isSmallActionButton(): boolean;
    get nativeElement(): Node;
    private _data;
    private inlineInputViewOnlyText;
    constructor(tableService: TableService, tableModuleOptions: TableModuleOptions, logService: LogService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    _setInputData(): void;
    getRemoveIconName(): IconData;
    getRemoveIconTooltipText(): string;
    getRemoveIconTooltipWidth(): string;
    isBoolean(variable: any): boolean;
    isRowChecked(): boolean;
    isAsDate(date: any): boolean;
    onToggleChanged(newValue: boolean): void;
    onEndEdit(valuesOptions: any): void;
    onCancel(): void;
    getDateFormat(dateFormat: string): string;
    getDateUTCFormat(ignoreTimeZone: boolean): string;
    renderCustomElement(): void;
    private _getMessage;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableCellComponent, [null, { optional: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableCellComponent, "[fusionTableCell]", never, { "data": { "alias": "data"; "required": false; }; "column": { "alias": "column"; "required": false; }; "row": { "alias": "row"; "required": false; }; "options": { "alias": "options"; "required": false; }; "position": { "alias": "position"; "required": false; }; "infoIconTooltip": { "alias": "infoIconTooltip"; "required": false; }; "isRemove": { "alias": "isRemove"; "required": false; }; "isRowSelected": { "alias": "isRowSelected"; "required": false; }; "isLastColumn": { "alias": "isLastColumn"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "isReadOnly": { "alias": "isReadOnly"; "required": false; }; }, { "selectedChange": "selectedChange"; "dataChange": "dataChange"; "remove": "remove"; }, never, never, false, never>;
}
export {};
