import { EventEmitter } from '../../stencil-public-runtime'; import { ToggleAriaRole } from '../../utils/accessibility.utils'; import { IconName } from '../nv-icon/nv-icons'; /** * The Pill component is an interactive, selectable chip used for filtering, * categorization, and compact toggle states. * * @slot leading-icon - Icon before the label. */ export declare class NvPill { private static readonly pendingRadioGroupSyncs; private static readonly radioGroupTabIndexCache; el: HTMLNvPillElement; private hasWarnedMissingLabel; /****************************************************************************/ /** * The visible text inside the pill. */ readonly label: string; /** * Whether the pill is currently selected. */ selected: boolean; /** * Prevents all interaction with the pill. */ readonly disabled: boolean; /** * Optional value emitted when the pill toggles. */ readonly value?: string; /** * Optional leading icon rendered before the label. * @icon */ readonly leadingIcon?: `${IconName}`; /** * ARIA role for accessibility contexts. * Defaults to button and can be overridden by group wrappers. */ readonly pillAriaRole: ToggleAriaRole; /****************************************************************************/ private get normalizedRole(); private get resolvedLabel(); private get hasInteractiveLabel(); private get resolvedTabIndex(); private get isRadioInRadioGroup(); private isInteractiveRadioPill; private setPillTabIndex; private syncRadioGroupTabIndexes; private queueRadioGroupTabIndexSync; private handleRadioGroupArrowKey; private readonly toggleSelected; /****************************************************************************/ componentDidLoad(): void; handleTabIndexAffectingChanges(): void; handleKeyDown(event: KeyboardEvent): void; handleHostClickCapture(event: MouseEvent): void; /****************************************************************************/ /** * Emitted when the selected state changes. * Intentionally non-bubbling; consumers should listen on the pill element. */ toggled: EventEmitter<{ /** Whether the pill is selected after toggling. */ selected: boolean; /** Backward-compatible alias for selected. */ active: boolean; /** Optional value associated with the pill. */ value?: string; }>; /****************************************************************************/ render(): any; }