/**
 *
 * carbon-angular v0.0.0 | tooltip.component.d.ts
 *
 * Copyright 2014, 2025 IBM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0

 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


import { AfterContentChecked, ChangeDetectorRef, ElementRef, NgZone, OnChanges, Renderer2, SimpleChanges, TemplateRef } from "@angular/core";
import { PopoverContainer } from "carbon-components-angular/popover";
import * as i0 from "@angular/core";
/**
 * Get started with importing the module:
 *
 * ```typescript
 * import { TooltipModule } from 'carbon-components-angular';
 * ```
 *
 * [See demo](../../?path=/story/components-tooltip--basic)
 */
export declare class Tooltip extends PopoverContainer implements OnChanges, AfterContentChecked {
    protected elementRef: ElementRef;
    protected ngZone: NgZone;
    protected renderer: Renderer2;
    protected changeDetectorRef: ChangeDetectorRef;
    static tooltipCount: number;
    tooltipClass: boolean;
    id: string;
    /**
     * Set delay before tooltip is shown
     */
    enterDelayMs: number;
    /**
     * Set delay when tooltip disappears
     */
    leaveDelayMs: number;
    /**
     * Prevent tooltip from showing, used by icon button
     */
    disabled: boolean;
    /**
     * The string or template content to be exposed by the tooltip.
     */
    description: string | TemplateRef<any>;
    /**
     * Optional data for templates passed as implicit context
     */
    templateContext: any;
    wrapper: ElementRef<HTMLSpanElement>;
    private timeoutId;
    constructor(elementRef: ElementRef, ngZone: NgZone, renderer: Renderer2, changeDetectorRef: ChangeDetectorRef);
    mouseenter(event: any): void;
    mouseleave(event: any): void;
    hostkeys(event: KeyboardEvent): void;
    handleFocus(event: Event): void;
    handleFocusOut(event: Event): void;
    isTemplate(value: any): boolean;
    /**
     * Close the popover and reopen it with updated values without emitting an event
     * @param changes
     */
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * Check for any changes in the projected content & apply accessibility attribute if needed
     */
    ngAfterContentChecked(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<Tooltip, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<Tooltip, "cds-tooltip, ibm-tooltip", never, { "id": "id"; "enterDelayMs": "enterDelayMs"; "leaveDelayMs": "leaveDelayMs"; "disabled": "disabled"; "description": "description"; "templateContext": "templateContext"; }, {}, never, ["*"], false>;
}
