/**
 *
 * carbon-angular v0.0.0 | ai-label.component.d.ts
 *
 * Copyright 2014, 2026 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 { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges } from "@angular/core";
import { Placement } from "@floating-ui/dom";
import * as i0 from "@angular/core";
/**
 * @deprecated alignments — use `Placement` names
 */
declare type DeprecatedAILabelAlign = "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-bottom" | "left-top" | "right-bottom" | "right-top";
/**
 * AI-branded toggletip control (`cds-ai-label`). Renders an "AI" badge that opens a
 * popover; projected content and optional actions use `ng-content`.
 *
 * Get started with importing the module:
 *
 * ```typescript
 * import { AILabelModule } from 'carbon-components-angular';
 * ```
 *
 * ```html
 * <cds-ai-label size="md">
 *   <div>
 *     <p>AI Explained</p>
 *     <h2>84%</h2>
 *     <p>Confidence score</p>
 *   </div>
 *   <div cdsAILabelActions>
 *     <button cdsButton="ghost" size="sm">View details</button>
 *   </div>
 * </cds-ai-label>
 * ```
 *
 * `[cdsAILabelActions]` adds `cds--toggletip-actions` and `cds--ai-label-actions`
 * to its host. Place it as a **sibling** of the body content, both direct
 * children of `<cds-ai-label>`. `[cdsAILabelContent]` is an optional marker; the
 * `cds--ai-label-content` / `cds--toggletip-content` classes come from this
 * component’s template.
 *
 * [See demo](../../?path=/story/components-ai-label--default)
 */
export declare class AILabelComponent implements AfterViewInit, OnChanges, OnDestroy {
    private elementRef;
    static labelCounter: number;
    aiLabelClass: boolean;
    get revertClass(): boolean;
    /**
     * Set alignment of popover. Deprecated Carbon alignments are mapped to
     * floating-ui placements.
     */
    align: DeprecatedAILabelAlign | Placement;
    /**
     * Show caret at the alignment position.
     */
    caret: boolean;
    /**
     * Enable drop shadow around the popover container.
     */
    dropShadow: boolean;
    /**
     * Enable high contrast for popover container.
     */
    highContrast: boolean;
    /**
     * **Experimental**: Use floating-ui to position the tooltip.
     */
    autoAlign: boolean;
    /**
     * Whether the callout is open.
     */
    isOpen: boolean;
    /**
     * Emits when the callout is closed.
     */
    onClose: EventEmitter<Event>;
    /**
     * Emits when the callout is opened.
     */
    onOpen: EventEmitter<Event>;
    /**
     * Emits when `isOpen` changes (two-way binding).
     */
    isOpenChange: EventEmitter<boolean>;
    /**
     * Unique id used to associate the trigger button with the popover panel
     * via `aria-controls` / `id`.
     */
    id: string;
    /**
     * Text inside the AI badge.
     */
    aiText: string;
    /**
     * Extra text beside the badge when `kind` is `"inline"`.
     */
    textLabel: string;
    /**
     * Set badge shape: `"default"` (circular) or `"inline"` (pill, optional `textLabel`).
     */
    kind: "default" | "inline";
    /**
     * Set badge size
     */
    size: "mini" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl";
    /**
     * Horizontal shift along the alignment axis when `autoAlign` is on, matching
     * React `AILabel` (`alignmentAxisOffset={isSmallIcon ? -24 : 0}` on `Toggletip`).
     */
    get alignmentAxisOffset(): number;
    /**
     * When `true`, shows the revert icon instead of the badge (AI-generated value
     * is active and can be reverted).
     */
    revertActive: boolean;
    /**
     * Accessible label / tooltip for the revert icon button.
     */
    revertLabel: string;
    /**
     * `aria-label` for the AI badge trigger (combined with `aiText` in `computedAriaLabel`).
     */
    ariaLabel: string;
    /**
     * Emitted when the revert icon is clicked.
     */
    revertClick: EventEmitter<MouseEvent>;
    private aiLabelPopover;
    private readonly documentClick;
    constructor(elementRef: ElementRef);
    onPopoverIsOpenChange(open: boolean): void;
    get triggerClasses(): Record<string, boolean>;
    /**
     * Trigger `aria-label`: `"${aiText} ${ariaLabel}"`, or
     * `"${aiText} ${textLabel}"` when `kind` is `"inline"` and `textLabel` is set.
     */
    get computedAriaLabel(): string;
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    onTriggerClick(event: MouseEvent): void;
    onRevertButtonClick(event: MouseEvent): void;
    hostkeys(event: KeyboardEvent): void;
    /**
     * Dismisses the popover when a click lands outside the host element.
     */
    private handleOutsideClick;
    static ɵfac: i0.ɵɵFactoryDeclaration<AILabelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AILabelComponent, "cds-ai-label, ibm-ai-label", never, { "align": "align"; "caret": "caret"; "dropShadow": "dropShadow"; "highContrast": "highContrast"; "autoAlign": "autoAlign"; "isOpen": "isOpen"; "id": "id"; "aiText": "aiText"; "textLabel": "textLabel"; "kind": "kind"; "size": "size"; "revertActive": "revertActive"; "revertLabel": "revertLabel"; "ariaLabel": "ariaLabel"; }, { "onClose": "onClose"; "onOpen": "onOpen"; "isOpenChange": "isOpenChange"; "revertClick": "revertClick"; }, never, ["*"], false>;
}
export {};
