import { IEventEmitter } from '@breadstone/mosaik-elements'; import { type IInvalidable } from '../../../Behaviors/Invalidable'; import { ISlottable } from '../../../Behaviors/Slottable'; import type { IGroupChangedEventDetail } from '../../../events'; import { CustomElement } from '../../Abstracts/CustomElement'; import type { IRadioGroupElementProps } from './IRadioGroupElementProps'; declare const RadioGroupElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => IInvalidable & import("../../../Behaviors/Invalidable").IInvalidableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Orientable").IOrientableProps) & (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; /** * Radio Group - A container for grouping multiple radio buttons. * * @description * The Radio Group component is used to organize and manage a set of radio buttons, allowing users to select only one option from the group. * It typically contains multiple Radio components, each representing an individual option. * Radio Groups are commonly used when users need to choose one option from a list or set of choices. * * @element mosaik-radio-group * @category Forms * * @slot - The default slot. * * @cssprop {String} --radio-group-background-color - The group background color CSS custom property. * @cssprop {String} --radio-group-border-color - The group border color CSS custom property. * @cssprop {String} --radio-group-border-radius - The group border radius CSS custom property. * @cssprop {String} --radio-group-border-style - The group border style CSS custom property. * @cssprop {String} --radio-group-border-width - The group border width CSS custom property. * @cssprop {String} --radio-group-font-family - The group font family CSS custom property. * @cssprop {String} --radio-group-font-letter-spacing - The group font letter spacing CSS custom property. * @cssprop {String} --radio-group-font-line-height - The group font line height CSS custom property. * @cssprop {String} --radio-group-font-size - The group font size CSS custom property. * @cssprop {String} --radio-group-font-text-decoration - The group font text decoration CSS custom property. * @cssprop {String} --radio-group-font-text-transform - The group font text transform CSS custom property. * @cssprop {String} --radio-group-font-weight - The group font weight CSS custom property. * @cssprop {String} --radio-group-foreground-color - The group foreground color CSS custom property. * @cssprop {String} --radio-group-gap - The group gap CSS custom property. * @cssprop {String} --radio-group-padding-bottom - The group padding bottom CSS custom property. * @cssprop {String} --radio-group-padding-left - The group padding left CSS custom property. * @cssprop {String} --radio-group-padding-right - The group padding right CSS custom property. * @cssprop {String} --radio-group-padding-top - The group padding top CSS custom property. * @cssprop {String} --radio-group-shadow - The group shadow CSS custom property. * @cssprop {String} --radio-group-shadow-blur - The group shadow blur CSS custom property. * @cssprop {String} --radio-group-shadow-color - The group shadow color CSS custom property. * @cssprop {String} --radio-group-shadow-offset-x - The group shadow offset x CSS custom property. * @cssprop {String} --radio-group-shadow-offset-y - The group shadow offset y CSS custom property. * @cssprop {String} --radio-group-shadow-spread - The group shadow spread CSS custom property. * @cssprop {String} --radio-group-transition-duration - The group transition duration CSS custom property. * @cssprop {String} --radio-group-transition-mode - The group transition mode CSS custom property. * @cssprop {String} --radio-group-transition-property - The group transition property CSS custom property. * @cssprop {String} --radio-group-translate - The group translate CSS custom property. * * @fires radioChanged {GroupChangedEvent} - Called when the selection in the group changes. * * @example * ```html * * * * * * ``` * * @public */ export declare class RadioGroupElement extends RadioGroupElement_base implements IRadioGroupElementProps, IInvalidable, ISlottable { private readonly _provider; private readonly _radioChanged; 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 selection in the group changes. * Provides reference to `IGroupChangedEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get radioChanged(): 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 `radioChanged` event. * * @protected */ protected onRadioChanged(args: IGroupChangedEventDetail): void; /** * @protected */ protected onValuePropertyChange(_prev?: Array, next?: Array): void; /** * @private */ private onRadioCheckChanged; /** * @private */ private clearEvents; } /** * @public */ export declare namespace RadioGroupElement { type Props = IRadioGroupElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-radio-group': RadioGroupElement; } } export {}; //# sourceMappingURL=RadioGroupElement.d.ts.map