import { AfterViewInit, ComponentFactoryResolver, ComponentRef, ElementRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { OverlayContainerRef } from 'ng-devui/overlay-container';
import { DevConfigService } from 'ng-devui/utils';
import { Subject } from 'rxjs';
import { TooltipComponent } from './tooltip.component';
import { PositionType } from './tooltip.types';
import * as i0 from "@angular/core";
export declare class TooltipDirective implements OnChanges, AfterViewInit, OnDestroy {
    private triggerElementRef;
    private overlayContainerRef;
    private componentFactoryResolver;
    private devConfigService;
    content: string;
    position: PositionType | PositionType[];
    showAnimation: boolean;
    /**
     * @deprecated Use showAnimation to replace.
     */
    set showAnimate(isShowAnimate: any);
    mouseEnterDelay: number;
    mouseLeaveDelay: number;
    isEnter: boolean;
    unsubscribe$: Subject<void>;
    unsubscribeT$: Subject<void>;
    tooltipComponentRef: ComponentRef<TooltipComponent>;
    constructor(triggerElementRef: ElementRef, overlayContainerRef: OverlayContainerRef, componentFactoryResolver: ComponentFactoryResolver, devConfigService: DevConfigService);
    onFocus(): void;
    onBlur(): void;
    createTooltip(): void;
    bindMouseEvent(eventTarget: HTMLElement, unsubscribe$: Subject<unknown>): void;
    show(): void;
    destroy(): void;
    hide(): void;
    instanceAssignValue(key: string | string[]): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TooltipDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TooltipDirective, "[dTooltip]", ["dTooltip"], { "content": { "alias": "content"; "required": false; }; "position": { "alias": "position"; "required": false; }; "showAnimation": { "alias": "showAnimation"; "required": false; }; "showAnimate": { "alias": "showAnimate"; "required": false; }; "mouseEnterDelay": { "alias": "mouseEnterDelay"; "required": false; }; "mouseLeaveDelay": { "alias": "mouseLeaveDelay"; "required": false; }; }, {}, never, never, false, never>;
}
