import { ElementRef, Injector, OnInit, AfterViewInit } from '@angular/core';
import { Overlay } from '@angular/cdk/overlay';
import { TaskTypeToken } from '../tokens/TaskTypeToken';
import { FeatureToken } from '../tokens/FeatureToken';
import { DetectTask } from '../classes/DetectTask';
export declare abstract class AbstractDetectDirective implements OnInit, AfterViewInit {
    protected el: ElementRef<HTMLImageElement>;
    protected overlay: Overlay;
    protected injector: Injector;
    protected abstract with: FeatureToken[];
    protected abstract type: TaskTypeToken;
    protected abstract stream: boolean;
    constructor(el: ElementRef<HTMLImageElement>, overlay: Overlay, injector: Injector);
    task: DetectTask;
    ngOnInit(): void;
    private readonly orverlayPositionStrategy;
    private createOverlay;
    private createInjector;
    ngAfterViewInit(): void;
}
