import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
import { OnDestroy } from '@angular/core';
import { NgxTooltipConfiguration, NgxTooltipEvent, NgxTooltipItem } from '../../types';
import * as i0 from "@angular/core";
export declare class NgxTooltipService implements OnDestroy {
    private readonly configuration;
    private readonly overlayService;
    private readonly overlayPositionBuilder;
    private activeTooltip;
    /**
     * A subject to hold the tooltip events
     */
    private readonly tooltipEventsSubject;
    /**
     * A subject to hold the destroy event
     */
    private readonly onDestroySubject;
    /**
     * The overlayRef used to attach the tooltip too
     */
    private overlayRef;
    /**
     * The position record for the tooltip
     */
    private readonly positionRecord;
    constructor(configuration: NgxTooltipConfiguration, overlayService: Overlay, overlayPositionBuilder: OverlayPositionBuilder);
    /**
     * Show a tooltip
     *
     * @param tooltip - The configuration of the tooltip
     */
    showToolTip(tooltip: NgxTooltipItem): void;
    /**
     * Removes the tooltip.
     */
    removeToolTip(): void;
    /**
     * Dispatches the tooltip event to the subject
     *
     * @param event - A tooltip event
     */
    setToolTipEvent(event: NgxTooltipEvent): void;
    /**
     * Emit the destroy event
     */
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxTooltipService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NgxTooltipService>;
}
