import { ElementRef, Injector, TemplateRef } from '@angular/core';
import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
import { Observable } from 'rxjs';
import { EvoTooltipConfig } from '../interfaces/evo-tooltip-config';
import { EvoTooltipPosition } from '../enums/evo-tooltip-position';
import { EvoTooltipStyles } from '../interfaces/evo-tooltip-styles';
import * as i0 from "@angular/core";
export declare class EvoTooltipService {
    private readonly overlay;
    private readonly overlayPositionBuilder;
    private readonly injector;
    readonly stringContent$: Observable<string | null>;
    readonly templateContent$: Observable<TemplateRef<HTMLElement> | null>;
    readonly position$: Observable<EvoTooltipPosition>;
    readonly parentRef$: Observable<ElementRef>;
    readonly tooltipClasses$: Observable<string[]>;
    readonly styles$: Observable<EvoTooltipStyles>;
    readonly visibleArrow$: Observable<boolean>;
    readonly isOpen$: Observable<boolean>;
    private readonly _stringContent$;
    private readonly _templateContent$;
    private readonly _position$;
    private readonly _parentRef$;
    private readonly _tooltipClasses$;
    private readonly _config$;
    private readonly _styles$;
    private readonly _visibleArrow$;
    private readonly _isOpen$;
    private overlayRef;
    private positionStrategy;
    private tooltipComponentRef;
    private targetElement;
    constructor(overlay: Overlay, overlayPositionBuilder: OverlayPositionBuilder, injector: Injector);
    showTooltip(parentRef: ElementRef, content: string | TemplateRef<HTMLElement>, position: EvoTooltipPosition, config: EvoTooltipConfig, targetElement?: EventTarget | null): void;
    hideTooltip(): void;
    setArrowVisibility(hasArrow: boolean): void;
    setTooltipStyles(tooltipStyles: EvoTooltipStyles): void;
    setTooltipClass(tooltipClassOrClasses: string | string[]): void;
    get hasAttached(): boolean;
    get config(): EvoTooltipConfig;
    private get parentRef();
    private setContent;
    private createOverlay;
    private createPortal;
    private initSubscriptions;
    private getPositions;
    private getPositionsOrder;
    static ɵfac: i0.ɵɵFactoryDeclaration<EvoTooltipService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<EvoTooltipService>;
}
