import { IElement, IControllerArray, IBindingContext } from '../interface/exported';
import { ViewController } from './viewController';
export declare class ElementController {
    private bindingContext;
    private htmlNode;
    classInstance: IElement;
    private templateString;
    private template;
    private _process;
    private logger;
    private internalAttached;
    private elements;
    private anchorNode;
    private viewController;
    private shadowDom;
    constructor(bindingContext: IBindingContext, htmlNode: Node, classInstance: IElement | null, elementName: string, templateString: string | null, parentViewController: ViewController);
    searchForInstance<T>(_customElement: T): T | null;
    getView(): ViewController;
    init(): this;
    loadTemplate(): string | Promise<string>;
    create(): void;
    processContent(): void;
    contentProcessed(controllers: IControllerArray): void;
    attached(): void;
    detached(): void;
}
