import { FormBuilder } from '@angular/forms';
import { MedFormFieldConfig } from 'med-dynamic-form';
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnInit, TemplateRef } from '@angular/core';
import { CELL_TYPES } from '../../types/cellTypes';
import { MedUpdateEvent } from '../../types/MedUpdateEvent';
import { CellDataConfigLocal } from '../../types/CellDataConfigLocal';
import * as i0 from "@angular/core";
export declare class TableCellComponent<ItemType extends Record<string, any>> implements OnInit, AfterViewInit {
    private cd;
    private fb;
    constructor(cd: ChangeDetectorRef, fb: FormBuilder);
    template?: TemplateRef<any>;
    set config(newValue: CellDataConfigLocal);
    get config(): CellDataConfigLocal;
    set item(newValue: ItemType);
    get item(): ItemType;
    update: EventEmitter<MedUpdateEvent<ItemType>>;
    onFocus: EventEmitter<MedUpdateEvent<ItemType>>;
    contentRef: ElementRef;
    readonly cellType: typeof CELL_TYPES;
    fields: MedFormFieldConfig[];
    form: any;
    private _item;
    private _config;
    private _tableCell;
    get fieldData(): string;
    get previewData(): string;
    get linkUrl(): string;
    get linkTarget(): string;
    get isEditable(): boolean;
    get isEmptyTemplate(): boolean;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    setEditor(): void;
    private onLeave;
    private setFormControl;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableCellComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableCellComponent<any>, "table-cell", never, { "template": "template"; "config": "config"; "item": "item"; }, { "update": "update"; "onFocus": "onFocus"; }, never, never>;
}
