import { TemplateRef, ViewContainerRef, AfterViewInit, OnDestroy, OnInit, EventEmitter, ElementRef } from '@angular/core';
import { Overlay } from '@angular/cdk/overlay';
import { BaseDirective } from '../../base.directive';
import * as i0 from "@angular/core";
export declare class EuiPopoverComponent extends BaseDirective implements AfterViewInit, OnDestroy, OnInit {
    private overlay;
    private viewContainerRef;
    isOpen: boolean;
    title: string;
    position: ('top' | 'right' | 'bottom' | 'left');
    size: ('default' | 'small' | 'large' | 'auto');
    type: ('default' | 'flat' | 'colored-header' | 'colored-solid');
    get hasBackDrop(): boolean;
    set hasBackDrop(value: boolean);
    _hasBackDrop: boolean;
    get hasCloseButton(): boolean;
    set hasCloseButton(value: boolean);
    _hasCloseButton: boolean;
    get isDismissable(): boolean;
    set isDismissable(value: boolean);
    _isDismissable: boolean;
    outsideClick: EventEmitter<any>;
    open: EventEmitter<any>;
    close: EventEmitter<any>;
    positionClass: string;
    statesClass: string;
    templatePortalContent: TemplateRef<unknown>;
    private templatePortal;
    private overlayRef;
    private destroy$;
    private isOpen$;
    private originX;
    private originY;
    private overlayX;
    private overlayY;
    private fallbackOriginX;
    private fallbackOriginY;
    private fallbackOverlayX;
    private fallbackOverlayY;
    constructor(overlay: Overlay, viewContainerRef: ViewContainerRef);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * Whether the eui-popover is open.
     *
     * @usageNotes
     * ```html
     * <eui-popover #popover>
     *      <my-component *ngIf="popover.isPopoverOpen"></my-component>
     * </eui-popover>
     * ```
     * @returns A boolean with value `true` when open, otherwise `false`.
     */
    get isPopoverOpen(): boolean;
    /**
     * Open a popover
     * @param origin Origin of the popover position
     */
    openPopover(target: ElementRef): void;
    /**
     * Close a popover
     */
    closePopover(): void;
    private getPositionClass;
    static ɵfac: i0.ɵɵFactoryDef<EuiPopoverComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<EuiPopoverComponent, "eui-popover", never, { "isOpen": "isOpen"; "title": "title"; "position": "position"; "size": "size"; "type": "type"; "hasBackDrop": "hasBackDrop"; "hasCloseButton": "hasCloseButton"; "isDismissable": "isDismissable"; }, { "outsideClick": "outsideClick"; "open": "open"; "close": "close"; }, never, ["*"]>;
}
