import { InheritAriaAttributesMixinContract } from '../utils/internal/mixins/accessibility/inherit-aria-attributes.mixin'; import { ComponentIdMixinContract } from '../utils/internal/mixins/id.mixin'; import { BadgeAnatomyType, BadgePosition, BadgeVariant } from './badge.types'; declare const Badge_base: abstract new (...args: any[]) => { componentDidLoad(): void; disconnectedCallback(): void; hostElement?: import("@stencil/core/internal").HTMLStencilElement; connectedCallback?(): void; componentWillRender?(): Promise | void; componentDidRender?(): void; componentWillLoad?(): Promise | void; componentShouldUpdate?(newVal: any, oldVal: any, propName: string): boolean | void; componentWillUpdate?(): Promise | void; componentDidUpdate?(): void; render?(): any; } & import("../utils/internal/component").StencilLifecycle & InheritAriaAttributesMixinContract & import("../utils/internal/mixins/accessibility/inherit-aria-attributes.mixin").LifecycleWithInheritAriaAttributesMixin & { $internal_id: number; getHostElementId(): string; hostElement?: import("@stencil/core/internal").HTMLStencilElement; connectedCallback?(): void; disconnectedCallback?(): void; componentWillRender?(): Promise | void; componentDidRender?(): void; componentWillLoad?(): Promise | void; componentDidLoad?(): void; componentShouldUpdate?(newVal: any, oldVal: any, propName: string): boolean | void; componentWillUpdate?(): Promise | void; componentDidUpdate?(): void; render?(): any; }; /** * Overlay indicator for counts, labels, dots, and status icons. * * **Attached** (default slot has content): the indicator is decorative. * When `label` is set, that text is exposed on the anchor via `aria-describedby`. * Host `role` / `aria-*` are discarded so the anchor owns the accessible name. * * **Standalone** (empty default slot): author `role` / `aria-*` stay on the host. * For `dot` and `status-icon`, provide a host `aria-label` and a naming role * (for example `role="img"`, or `role="status"` / `role="alert"` for a live region). * * Override max-width with `--ix-badge-max-width`. * * @since 5.2.0 */ export declare class Badge extends Badge_base implements InheritAriaAttributesMixinContract, ComponentIdMixinContract { hostElement: HTMLIxBadgeElement; /** * Badge type (`counter`, `label`, `dot`, or `status-icon`). * * @since 5.2.0 */ type: BadgeAnatomyType; /** * Visible text or count. * Required for `label` and `counter`. Omit for `dot` and `status-icon`. * Counters accept integers only (decimals truncated); values above 99 render as `99+`. * * @since 5.2.0 */ label?: string; /** * Color variant. * For `status-icon`, unsupported values fall back to `info`. * Use `error` only with `status-icon` (other types map it to `alarm`). * * @since 5.2.0 */ variant: BadgeVariant; /** * Show the badge in outline style. * * @since 5.2.0 */ outline: boolean; /** * Add a high-contrast border on filled badges. * Ignored when **outline** is `true` or **type** is `status-icon`. * * @since 5.2.0 */ border: boolean; /** * Position relative to the slotted anchor. * Only has an effect when attached. * * @since 5.2.0 */ position: BadgePosition; /** * Extra horizontal offset in pixels. * Only has an effect when attached. * Added to the type default. * * @since 5.2.0 */ offsetX: number; /** * Extra vertical offset in pixels. * Only has an effect when attached. * Added to the type default. * * @since 5.2.0 */ offsetY: number; /** * Play the attention pulse animation. * Override duration with `--ix-badge-animation-duration` (default `2s`). * * @since 5.2.0 */ enableAnimation: boolean; /** * Custom background or border color. * Only has an effect when **variant** is `custom`. * * @since 5.2.0 */ background?: string; /** * Custom text color. * Only has an effect when **variant** is `custom`. * * @since 5.2.0 */ badgeColor?: string; /** * Leading icon name. * Only has an effect when **type** is `label`. * * @since 5.2.0 */ icon?: string; /** * Accessible name for the leading icon. * When unset, the icon is decorative if **label** provides visible text. * Only has an effect when **type** is `label`. * * @since 5.2.0 */ ariaLabelIcon?: string; /** * Left-align label content. * Only has an effect when **type** is `label`. * * @since 5.2.0 */ alignLeft: boolean; /** * Display a tooltip when the badge is standalone. * By default, no tooltip is displayed. * Add the attribute to use the badge label (or host `aria-label`) as the tooltip, or pass a string for custom text. * Ignored when the badge is attached to an anchor. * * @since 5.2.0 */ tooltipText: string | boolean; hasAnchor: boolean; private descriptionId; private anchorElements; private slotElement?; private readonly indicatorElementRef; private hasDisconnected; componentWillLoad(): void; componentDidLoad(): void; componentDidRender(): void; connectedCallback(): void; disconnectedCallback(): void; labelOrTypeChanged(): void; private readonly setSlotRef; private readonly onSlotChange; private isDescriptionElement; private getAnchorElements; private detectHasAnchor; private applyAnchorMode; private getResolvedVariant; private getResolvedType; private getResolvedPosition; private getResolvedOffsets; private getFormattedLabel; private getAccessibleText; private isTooltipRequested; private hasVisibleIndicator; private shouldShowTooltip; private getTooltipContent; private getTooltip; private syncAnchorDescribedBy; private ensureLightDomDescription; private removeLightDomDescription; private clearAnchorDescribedBy; private renderIndicatorShell; private renderIndicator; render(): any; } export {};