import { AfterViewInit, ElementRef, Injector, OnChanges, Renderer2, SimpleChanges } from '@angular/core';
import { IShiftPosition, ITooltipData, TooltipPosition } from './tooltip.entities';
import { WindowService } from '@ironsource/fusion-ui/services/window';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
import { IconData } from '@ironsource/fusion-ui/components/icon/v1';
import * as i0 from "@angular/core";
export declare abstract class TooltipBaseComponent implements AfterViewInit, OnChanges {
    private tooltipElRef;
    private window;
    private renderer;
    private sanitizer;
    content: string | SafeHtml;
    componentData: any;
    icon: string | IconData;
    private position;
    private hostEl;
    private type;
    set tooltipData(newTooltipData: ITooltipData);
    width: number;
    get hasIcon(): boolean;
    get isHtml(): boolean;
    constructor(injector: Injector, tooltipElRef: ElementRef, window: WindowService, renderer: Renderer2, sanitizer: DomSanitizer);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    /**
     * Reposition Tooltip Content
     */
    _setPosition(): void;
    _adjustPosition(position: TooltipPosition, tooltipEl: any, hostEl: any): TooltipPosition;
    /**
     * Calculate position
     * @param TooltipPosition position
     */
    _calcPosition(position: TooltipPosition, tooltipEl: any, hostEl: any): IShiftPosition;
    static ɵfac: i0.ɵɵFactoryDeclaration<TooltipBaseComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TooltipBaseComponent, never, never, { "tooltipData": { "alias": "tooltipData"; "required": false; }; }, {}, never, never, false, never>;
}
