import { AfterViewInit, ElementRef, EventEmitter, Renderer2 } from '@angular/core';
import { HeadwindWindowService } from '../../../services/headwind-window.service';
import { HeadwindClickDetector } from '../../../services/headwind-click-detector.service';
import { HeadwindPopoverService } from '../services/headwind-popover.service';
import { LinearDirections } from '../../../types/linear-directions';
import { XYDirections } from '../../../types/xy-directions';
import * as i0 from "@angular/core";
export declare class HeadwindPopoverOverlayComponent implements AfterViewInit {
    private readonly _renderer;
    private readonly _elementRef;
    private readonly _headwindWindowService;
    private readonly _headwindClickDetector;
    private readonly _headwindPopoverService;
    direction: LinearDirections;
    directionPriority: XYDirections;
    pinPriority: XYDirections;
    actualDirectionChange: EventEmitter<XYDirections>;
    actualPinChange: EventEmitter<XYDirections>;
    constructor(_renderer: Renderer2, _elementRef: ElementRef<HTMLElement>, _headwindWindowService: HeadwindWindowService, _headwindClickDetector: HeadwindClickDetector, _headwindPopoverService: HeadwindPopoverService);
    ngAfterViewInit(): void;
    updatePosition(button: HTMLElement): void;
    private _updateVerticalDirectionByPriority;
    private _updateHorizontalDirectionByPriority;
    private _updateVerticalDirectionPin;
    private _updateHorizontalDirectionPin;
    private _emitActualDirectionTop;
    private _emitActualDirectionBottom;
    private _emitActualDirectionLeft;
    private _emitActualDirectionRight;
    private _emitActualPinTop;
    private _emitActualPinBottom;
    private _emitActualPinLeft;
    private _emitActualPinRight;
    static ɵfac: i0.ɵɵFactoryDeclaration<HeadwindPopoverOverlayComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<HeadwindPopoverOverlayComponent, "headwind-popover-overlay", never, { "direction": { "alias": "direction"; "required": false; }; "directionPriority": { "alias": "directionPriority"; "required": false; }; "pinPriority": { "alias": "pinPriority"; "required": false; }; }, { "actualDirectionChange": "actualDirectionChange"; "actualPinChange": "actualPinChange"; }, never, ["*"], true, never>;
}
