import { ElementRef, OnInit, Renderer2, ViewContainerRef } from "@angular/core";
import { TaskBaseMagicComponent } from "../task-base.magic.component";
import { TaskMagicService } from "../../services/task.magics.service";
import { Subscription } from "rxjs";
/**
 * Responsible for connecting HTML elements to the Magic WebClient engine showing it is not Magic Control but a Dummy control which is used to notify only receeive focus event for now
 */
export declare class NonMagicControlDirective implements OnInit {
    protected _task: TaskMagicService;
    protected element: ElementRef;
    protected renderer: Renderer2;
    protected vcRef: ViewContainerRef;
    magic: any;
    /**
     * The HTML element connected to this directive
     */
    protected htmlElement: HTMLElement;
    /**
     * Magic's component handling this control
     */
    component: TaskBaseMagicComponent;
    /**
     * Collection of event handlers for this element
     */
    private eventHandlers;
    /**
     * Id of this element
     */
    id: string;
    /**
     * @ignore
     */
    protected selector: string;
    /**
     * @ignore
     */
    subscribeRefreshDom: Subscription;
    private focusUnlistener;
    eventsOnlyVal: boolean;
    /**
     *
     * @param _task The task service
     * @param element The element for which the directive is applied
     * @param renderer Renderer for the element
     * @param vcRef
     */
    constructor(_task: TaskMagicService, element: ElementRef, renderer: Renderer2, vcRef: ViewContainerRef);
    /**
     * Get the task service
     * @returns
     */
    readonly task: TaskMagicService;
    /**
     * Register to the events this element may need to handle
     */
    protected regEvents(): void;
    /**
     * Handle focus event
     */
    private OnFocus;
    /**
     * Initialize this object
     */
    ngOnInit(): void;
}
