import { OnInit, AfterViewInit, ElementRef, OnDestroy, EventEmitter, ChangeDetectorRef, Renderer2 } from '@angular/core';
import { Placement } from './position.interface';
import { OverlayPositionService } from './overlay-position.service';
import { OverlayOriginDirective } from './overlay-origin.directive';
import { TooltipDirective } from '../tooltip/tooltip';
export declare class OverlayComponent implements OnInit, AfterViewInit, OnDestroy {
    el: ElementRef;
    private cdRef;
    private render;
    private overlayPositionService;
    /** the event of opening the overlay */
    openHandler: EventEmitter<OverlayComponent>;
    /** the event of closing the overlay */
    closeHandler: EventEmitter<OverlayComponent>;
    /** * attached origin element */
    origin: OverlayOriginDirective | TooltipDirective;
    /** A selector specifying the element the popover should be appended to. */
    /** Currently only supports "body".*/
    container: string;
    /** overlay element's original position such as 'bottom-top' */
    placement: Placement;
    /** the delay of changing visibility */
    delay: number;
    /** overlay state about visibility */
    visibility: boolean;
    /** The timeout ID of any current timer set to show the tooltip */
    showTimeoutId: number;
    /** The timeout ID of any current timer set to hide the tooltip */
    hideTimeoutId: number;
    /** document click listener, when click on other area, hide the overlay */
    private _documentClickListener;
    /** A strategy for positioning overlays */
    private _positionStategy;
    constructor(el: ElementRef, cdRef: ChangeDetectorRef, render: Renderer2, overlayPositionService: OverlayPositionService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngAfterViewInit(): void;
    /**
     * show or hide
     */
    toggle(): void;
    /**
     * position the overlay element and show it
     */
    show(): void;
    /**
     * hide the overlay element
     */
    hide(): void;
    /**
     * check the visibility of the overlay
     * @param { boolean } this.visibility
     */
    isVisible(): boolean;
    /**
     * prevent default when click the overlay itself
     * @param { MouseEvent } event
     */
    _preventDefault(event: MouseEvent): void;
    /**
     * 变更提示框的内容，e.g slider的提示
     * @param { string } content
     */
    changeOrigin(origin: any): void;
}
