import { EventEmitter } from '../../stencil-public-runtime'; import { ToggleButtonEmphasis, ToggleButtonSize } from '../../utils/constants'; /** * @slot default - Child content of the component, pass the nv-togglebutton components here. */ export declare class NvTogglebuttongroup { el: HTMLNvTogglebuttongroupElement; private mutationObserver; /****************************************************************************/ /** * The active toggle buttons in the group. Is an array of one string when in * exclusive mode, and an array of strings when in non-exclusive mode. */ value: string[]; /** * Activates single-selection mode so only one button can be active at a time. */ readonly exclusive: boolean; /** * Ensures at least one toggle stays selected at all times. */ readonly enforceValue: boolean; /** * Make it more or less visually prominent to users. */ readonly emphasis: `${ToggleButtonEmphasis}`; /** * Determines how large or small the togglebutton appears, allowing for * customization of the togglebutton's dimensions to fit different design * specifications and user needs. */ readonly size: `${ToggleButtonSize}`; /****************************************************************************/ /** * Sets the active state of all toggle buttons depending on the value of the * group. */ private setActiveToggleButtons; /** * Sets the emphasis of all toggle buttons to the same value. */ private setEmphasisToggleButtons; /** * Sets the size of all toggle buttons to the same value. */ private setSizeToggleButtons; /** * Sets up the MutationObserver to watch for changes in child elements */ private setupMutationObserver; /** * Narrow Type used locally to interact with nv-togglebutton child elements. * @param {Element} element - The element to check. * @returns {(HTMLElement & { * active: boolean; * value: string; * emphasis: `${ToggleButtonEmphasis}`; * size: `${ToggleButtonSize}`; * }) | null} The element as a toggle button, or null if it is not a toggle button. */ private static asToggleButton; /****************************************************************************/ onValueChanged(newValue: typeof this.value): void; onEmphasisChanged(): void; onSizeChanged(): void; onToggled(event: CustomEvent): void; /****************************************************************************/ componentWillLoad(): void; disconnectedCallback(): void; /****************************************************************************/ /** * Emitted when the selected toggle buttons change. * @bind value */ valueChanged: EventEmitter; /****************************************************************************/ render(): any; }