import { ConnectedPosition, Overlay, OverlayConfig, ScrollDispatcher } from "@angular/cdk/overlay";
import { ChangeDetectorRef, ElementRef, NgZone, OnDestroy, OnInit } from "@angular/core";
import { Observable } from "rxjs";
import { TypedAnimationEvent } from "../../animations/fadeIn";
/** CSS class that will be attached to the overlay panel. */
export declare const TOOLTIP_PANEL_CLASS = "nui-tooltip-panel";
/**
 * Internal component that wraps the tooltip"s content.
 */
/** @ignore */
export declare class TooltipComponent implements OnDestroy, OnInit {
    private _changeDetectorRef;
    private scrollDispatcher;
    private ngZone;
    protected overlay: Overlay;
    /** Message to display in the tooltip */
    get message(): string;
    set message(value: string);
    private _message;
    possiblePositions: ConnectedPosition[];
    /** Property watched by the animation framework to show or hide the tooltip */
    _visibility: boolean;
    overlayConfig: OverlayConfig;
    toggleReference: ElementRef<HTMLElement>;
    private overlayComponent;
    /** Whether interactions on the page should close the tooltip */
    private _closeOnInteraction;
    /** Subject for notifying that the tooltip has been hidden from the view */
    private readonly _onHide;
    private destroy$;
    private hiding$;
    constructor(_changeDetectorRef: ChangeDetectorRef, scrollDispatcher: ScrollDispatcher, ngZone: NgZone, overlay: Overlay);
    ngOnInit(): void;
    updatePossiblePositions(positions: ConnectedPosition[]): void;
    /**
     * Shows the tooltip with an animation originating from the provided origin
     */
    show(): void;
    private _show;
    /**
     * Begins the animation to hide the tooltip after the provided delay in ms.
     */
    hide(): void;
    /** Returns an observable that notifies when the tooltip has been hidden from view. */
    afterHidden(): Observable<void>;
    /** Whether the tooltip is being displayed. */
    isVisible(): boolean;
    ngOnDestroy(): void;
    _animationStart(): void;
    _animationDone(event: TypedAnimationEvent): void;
    _handleBodyInteraction(): void;
    /**
     * Marks that the tooltip needs to be checked in the next change detection run.
     * Mainly used for rendering the initial text before positioning a tooltip, which
     * can be problematic in components with OnPush change detection.
     */
    _markForCheck(): void;
    private updatePopupOverlayConfig;
}
