/*!
 * Copyright 2020 VMware, Inc.
 * SPDX-License-Identifier: BSD-2-Clause
 */
import { ElementRef, OnDestroy, OnInit } from '@angular/core';
export declare enum TooltipPosition {
    tl = "tooltip-top-left",
    tr = "tooltip-top-right",
    br = "tooltip-bottom-right",
    bl = "tooltip-bottom-left"
}
export declare enum TooltipSize {
    sm = "100px",
    md = "200px",
    lg = "400px"
}
/**
 * The configuration information for the cliptext within the cells of the datagrid.
 */
export interface CliptextConfig {
    /**
     * The size of the tooltip to be displayed in the cell.
     */
    size?: TooltipSize;
    /**
     * The time delay from mouse off to hide the cliptext.
     */
    mouseoutDelay?: number;
    /**
     * If the cliptext should be disabled.
     */
    disabled?: boolean;
}
/**
 * Displays a clarity tooltip with the full contents of a host element on hover but only if
 * the elements is clipped.
 */
export declare class ShowClippedTextDirective implements OnDestroy, OnInit {
    private host;
    /** To destroy the tooltip when no longer needed */
    static instanceCount: number;
    set config(config: CliptextConfig);
    mouseoutDelay: number;
    tooltipSize: TooltipSize;
    disabled: boolean;
    /**
     * The HTML element receiving the directive
     */
    hostElement: HTMLElement;
    constructor(host: ElementRef);
    ngOnInit(): void;
    activate(): void;
    ngOnDestroy(): void;
    deactivate(): void;
    private onMouseIn;
    private onMouseOut;
    private isOverflowing;
}
/**
 * Used to call {@link tip.onTransitionEnd} from outside this file.
 * We need to expose {@link tip.onTransitionEnd} because when the window is not focused
 * (as in a headless chrome environment), the transitionend event is not fired.
 * As such, from the tests, you need to manually call this method.
 */
export declare const fireTipTransitionEndForTests: (event: Event) => void;
