import { ConnectedOverlayPositionChange, Overlay } from '@angular/cdk/overlay';
import { ElementRef, OnDestroy, TemplateRef } from '@angular/core';
import { Nullable } from '@bimeister/utilities';
import { Observable } from 'rxjs';
import { TooltipServiceDeclaration } from '../../../declarations/interfaces/tooltip-service-declaration.interface';
import * as i0 from "@angular/core";
export declare class TooltipService implements OnDestroy, TooltipServiceDeclaration {
    private readonly overlay;
    private readonly subscription;
    private readonly mouseOverTrigger$;
    private readonly mouseOverContent$;
    private readonly mouseOverTooltip$;
    private readonly isOpenedState$;
    readonly isOpened$: Observable<boolean>;
    private readonly isDisabledState$;
    readonly isDisabled$: Observable<boolean>;
    private readonly tooltipContentState$;
    readonly tooltipContent$: Observable<Nullable<string>>;
    private readonly tooltipContentTemplateState$;
    readonly tooltipContentTemplate$: Observable<Nullable<TemplateRef<unknown>>>;
    private readonly tooltipHideOnHoverState$;
    readonly tooltipHideOnHoverHover$: Observable<boolean>;
    private readonly overlayRef$;
    private readonly triggerRef$;
    private readonly tooltipPositionStrategy$;
    readonly tooltipPosition$: Observable<ConnectedOverlayPositionChange>;
    constructor(overlay: Overlay);
    ngOnDestroy(): void;
    registerTooltipTriggerRef(triggerRef: ElementRef<HTMLElement>): void;
    setOpenedState(isOpened: boolean): void;
    setDisabledState(isDisabled: boolean): void;
    setTooltipHideOnHoverState(hideOnTooltipHover: boolean): void;
    setTooltipContentState(content: string): void;
    setTooltipContentTemplateState(template: TemplateRef<unknown>): void;
    processTriggerMouseEnter(): void;
    processTriggerMouseLeave(): void;
    processContentMouseEnter(): void;
    processContentMouseLeave(): void;
    private processMouseOverTooltipChanges;
    private createOverlay;
    private getPositionStrategy;
    private open;
    private close;
    private getComponentPortal;
    static ɵfac: i0.ɵɵFactoryDeclaration<TooltipService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TooltipService>;
}
