import { IEventEmitter } from '@breadstone/mosaik-elements'; import { IInvalidable } from '../../../Behaviors/Invalidable'; import { ISlottable } from '../../../Behaviors/Slottable'; import type { IGroupChangedEventDetail } from '../../../events'; import { CustomElement } from '../../Abstracts/CustomElement'; import type { IChoiceGroupElementProps } from './IChoiceGroupElementProps'; declare const ChoiceGroupElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Orientable").IOrientableProps) & (abstract new (...args: Array) => IInvalidable & import("../../../Behaviors/Invalidable").IInvalidableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Valueable").IValueableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Disableable").IDisableableProps) & (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; /** * Choice Group - A container for grouping multiple choices, such as radio buttons or checkboxes. * * @element mosaik-choice-group * * @description * The Choice Group component is used to organize and manage a set of choices, allowing users to select one or more options from the group. It typically contains multiple Choice components, each representing an individual option. Common examples of Choice Groups include radio button groups and checkbox groups. * * @category Forms * * @fires choiceChanged {GroupChangedEvent} - Called when the value of the `ChoiceGroupElement` changes. * * @example * Basic choice group: * ```html * * * * * * ``` * * @example * Choice group with header, variant, and horizontal layout: * ```html * * Select size * * * * * ``` * * @public */ export declare class ChoiceGroupElement extends ChoiceGroupElement_base implements IChoiceGroupElementProps, IInvalidable, ISlottable { private readonly _provider; private readonly _choiceChanged; private _name; private _required; 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); /** * Called when the value of the `ChoiceGroupElement` changes. * Provides reference to `IEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get choiceChanged(): 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; /** * Emits the `choiceChanged` event. * * @protected */ protected onChoiceChanged(args: IGroupChangedEventDetail): void; /** * @protected */ protected onValuePropertyChange(_prev?: Array, next?: Array): void; /** * @private */ private onChoiceCheckChanged; /** * @private */ private clearEvents; } /** * @public */ export declare namespace ChoiceGroupElement { type Props = IChoiceGroupElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-choice-group': ChoiceGroupElement; } } export {}; //# sourceMappingURL=ChoiceGroupElement.d.ts.map