import { OnDestroy, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { EuiPopoverPosition } from '../models/eui-popover-position.model';
import * as i0 from "@angular/core";
/**
 * @description
 * Directive that positions an arrow element for a popover relative to its origin element.
 *
 * This directive calculates and applies the appropriate positioning style to ensure
 * the arrow correctly points to the origin element regardless of the popover's position.
 * It adjusts arrow placement dynamically based on the position strategy ('top', 'bottom',
 * 'left', or 'right') and the dimensions and position of the origin element.
 *
 * @example
 * // Basic usage in an arrow element inside a popover:
 * <div class="popover-arrow"
 *      [euiPopoverArrowPosition]="positionAndRect$">
 * </div>
 *
 * @example
 * // In the component class:
 * // Position and rect as an Observable
 * positionAndRect$ = new BehaviorSubject<[EuiPopoverPosition, DOMRect]>(['bottom', originRect]);
 *
 * // Update when position changes
 * updatePosition(position: EuiPopoverPosition, rect: DOMRect) {
 *   this.positionAndRect$.next([position, rect]);
 * }
 */
export declare class EuiPopoverArrowPositionDirective implements OnInit, OnDestroy {
    /**
     * Observable that emits a tuple containing the popover position strategy
     * and the DOMRect of the origin element.
     *
     * The directive uses this information to calculate the appropriate
     * position for the arrow element.
     */
    position$: Observable<[EuiPopoverPosition, DOMRect]>;
    private destroy$;
    private renderer;
    private elementRef;
    private document;
    ngOnInit(): void;
    ngOnDestroy(): void;
    private getStyle;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiPopoverArrowPositionDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EuiPopoverArrowPositionDirective, "[euiPopoverArrowPosition]", never, { "position$": { "alias": "euiPopoverArrowPosition"; "required": false; }; }, {}, never, never, true, never>;
}
//# sourceMappingURL=eui-popover-arrow-position.directive.d.ts.map