import { IEventEmitter } from '@breadstone/mosaik-elements'; import { IInvalidable } from '../../../Behaviors/Invalidable'; import { ISlottable } from '../../../Behaviors/Slottable'; import type { IGroupChangedEventDetail } from '../../../events'; import { SelectionMode } from '../../../Types/SelectionMode'; import { CustomElement } from '../../Abstracts/CustomElement'; import type { IChipGroupElementProps } from './IChipGroupElementProps'; declare const ChipGroupElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Sizeable").ISizeableProps) & (abstract new (...args: Array) => IInvalidable & import("../../../Behaviors/Invalidable").IInvalidableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Valueable").IValueableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Appearanceable").IAppearanceableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Slottable").ISlottableProps & ISlottable) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * Chip Group - A container for grouping multiple chips. * * @element mosaik-chip-group * * @description * The Chip Group component is used to organize and manage a set of chips, * allowing users to select one or more options from the group. * It supports both single and multiple selection modes. * Chip Groups are commonly used for filtering, tagging, or categorizing content. * * @category Media * * @slot - Default slot for chip elements. * * @csspart root - The root container element. * * @fires chipChanged {GroupChangedEvent} - Called when the selection in the group changes. * * @example * Single selection mode: * ```html * * * * * * ``` * * @example * Multiple selection mode: * ```html * * * * * * ``` * * @public */ export declare class ChipGroupElement extends ChipGroupElement_base implements IChipGroupElementProps, IInvalidable, ISlottable { private readonly _chipChanged; private _name; private _required; private _selectionMode; private _wrap; private _eventSubscriptions; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `name` property. * * @public * @attr */ get name(): string; set name(value: string); /** * Gets or sets the `required` property. * * @public * @attr */ get required(): boolean; set required(value: boolean); /** * Gets or sets the `selectionMode` property. * Controls whether single or multiple chips can be selected. * * @public * @attr selection-mode */ get selectionMode(): SelectionMode; set selectionMode(value: SelectionMode); /** * Gets or sets the `wrap` property. * * @public * @attr */ get wrap(): boolean; set wrap(value: boolean); /** * Called when the selection in the group changes. * Provides reference to `IGroupChangedEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get chipChanged(): IEventEmitter; /** * @public * @override */ onSlotChanges(): void; /** * Returns whether a form will validate when it is submitted, without having to submit it. * * @public * @override */ checkValidity(): boolean; /** * Resets the element to its initial state. * * @public */ reset(): void; /** * Selects all chips in the group (only works in multiple selection mode). * * @public */ selectAll(): void; /** * Deselects all chips in the group. * * @public */ deselectAll(): void; /** * Emits the `chipChanged` event. * * @protected */ protected onChipChanged(args: IGroupChangedEventDetail): void; /** * @protected */ protected onValuePropertyChange(_prev?: unknown, next?: unknown): void; /** * @private */ private onChipCheckChanged; /** * @private */ private onChipUncheckChanged; /** * @private */ private updateValue; /** * @private */ private clearEvents; } /** * @public */ export declare namespace ChipGroupElement { type Props = IChipGroupElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-chip-group': ChipGroupElement; } } export {}; //# sourceMappingURL=ChipGroupElement.d.ts.map