import { ElementRef, OnChanges, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';
import { Column } from './table.model';
import * as i0 from "@angular/core";
/**
 * Directive use to customize cell
 * inside a mic-table component
 */
export declare class TableCellDirective<T> implements OnChanges {
    private readonly elementRef;
    private readonly renderer;
    private readonly viewContainerRef;
    column: Column<T>;
    item: T;
    /**
     * Method use to retrieve corresponding template by name
     *
     * @see TableCellTemplateDirective
     */
    templateFinder?: (name: string) => TemplateRef<{}>;
    protected textNode: any;
    constructor(elementRef: ElementRef, renderer: Renderer2, viewContainerRef: ViewContainerRef);
    ngOnChanges(): void;
    /**
     * Render the template text in the dom
     * using the giving function
     * This function is provide by cell config
     *
     * @see TableConfig
     * @see Column
     */
    private renderText;
    /**
     * Render the template view in the dom
     * using the template name
     */
    private renderTemplate;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableCellDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TableCellDirective<any>, "[micCell]", never, { "column": { "alias": "micCell"; "required": false; }; "item": { "alias": "item"; "required": false; }; "templateFinder": { "alias": "templateFinder"; "required": false; }; }, {}, never, never, false, never>;
}
