import { IgcTemplateCellUpdatingEventArgs } from "./igc-template-cell-updating-event-args";
import { IgcDataGridColumnComponent } from "./igc-data-grid-column-component";
import { TemplateColumn } from "./TemplateColumn";
import { TemplateFunction } from "igniteui-webcomponents-core";
/**
 * A column with customizable content.
*/
export declare class IgcTemplateColumnComponent extends IgcDataGridColumnComponent {
    protected createImplementation(): TemplateColumn;
    get i(): TemplateColumn;
    constructor();
    private beforeStyleKeyRequested;
    private _templateCells;
    private _activeCellContent;
    private _activeCellContentElements;
    private _templateCellInitialData;
    private _templateCellInitialTemplate;
    private beforeCellUpdating;
    private _currCellInfo;
    private updateCellInfo;
    private cellInfoChanged;
    private dummyStyleKeyRequested;
    private dummyCellUpdating;
    private get hasTemplate();
    private _template;
    get template(): TemplateFunction;
    set template(value: TemplateFunction);
    private _templateSelector;
    get templateSelector(): (column: IgcTemplateColumnComponent, value: any) => TemplateFunction;
    set templateSelector(value: (column: IgcTemplateColumnComponent, value: any) => TemplateFunction);
    private _hasSelector;
    private onTemplateChanged;
    private _selectorStyles;
    private _selectorTemplates;
    private _keyCount;
    private updateTemplates;
    private ensureTemplateEvents;
    connectedCallback(): void;
    disconnectedCallback(): void;
    private static _observedAttributesIgcTemplateColumnComponent;
    static get observedAttributes(): string[];
    static htmlTagName: string;
    protected static _isElementRegistered: boolean;
    static register(): void;
    private _cellUpdating;
    private _cellUpdating_wrapped;
    /**
     * Called when the cell content is being created or updated.
    */
    get cellUpdating(): (s: IgcTemplateColumnComponent, e: IgcTemplateCellUpdatingEventArgs) => void;
    set cellUpdating(ev: (s: IgcTemplateColumnComponent, e: IgcTemplateCellUpdatingEventArgs) => void);
}
