import { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';
import { PoControlPositionService } from './../../services/po-control-position/po-control-position.service';
import { PoPopoverBaseComponent } from './po-popover-base.component';
/**
 *
 * @docsExtends PoPopoverBaseComponent
 *
 * @example
 *
 * <example name="po-popover-basic" title="PO Popover Basic">
 *   <file name="sample-po-popover-basic/sample-po-popover-basic.component.html"> </file>
 *   <file name="sample-po-popover-basic/sample-po-popover-basic.component.ts"> </file>
 * </example>
 *
 * <example name="po-popover-labs" title="PO Popover Labs">
 *   <file name="sample-po-popover-labs/sample-po-popover-labs.component.html"> </file>
 *   <file name="sample-po-popover-labs/sample-po-popover-labs.component.ts"> </file>
 * </example>
 *
 * <example name="po-popover-credit-card" title="PO Popover - Credit Card">
 *   <file name="sample-po-popover-credit-card/sample-po-popover-credit-card.component.html"> </file>
 *   <file name="sample-po-popover-credit-card/sample-po-popover-credit-card.component.ts"> </file>
 * </example>
 */
export declare class PoPopoverComponent extends PoPopoverBaseComponent implements AfterViewInit, OnDestroy, OnChanges {
    private renderer;
    private readonly poControlPosition;
    private readonly cd;
    popoverElement: ElementRef;
    arrowDirection: string;
    timeoutResize: any;
    targetElement: any;
    afterViewInitWasCalled: boolean;
    widthPopover: number;
    private keydownTargetListener?;
    private keydownPopoverListener?;
    private resizeObserver;
    eventListenerFunction: () => void;
    private readonly tabbableSelector;
    constructor(renderer: Renderer2, poControlPosition: PoControlPositionService, cd: ChangeDetectorRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    initEvents(): void;
    ngOnDestroy(): void;
    close(): void;
    debounceResize(): void;
    open(): void;
    ensurePopoverPosition(): void;
    setOpacity(value: number): void;
    setPopoverPosition(): void;
    setRendererListenInit(): void;
    togglePopup(event: any): void;
    private addScrollEventListener;
    private initEventListenerFunction;
    private removeListeners;
    private setElementsControlPosition;
    private focusOnTarget;
    private focusOnFirstFocusable;
    private attachPopoverKeydown;
    private isVisible;
    private getTabbablesIn;
    private getDocumentTabbables;
    private focusNextAfterTarget;
    private focusPrevBeforeTarget;
    private observeContentResize;
    private disconnectResizeObserver;
}
