/** * @component BcmRadioGroup * @description A radio group component that manages a collection of `bcm-radio` components, ensuring only one radio button is selected at a time. * Supports horizontal or vertical layouts, various sizes, and states such as disabled, required, and error. * * @example * * * * * * @example Radio group with error state and caption * * * * * * @prop {string} name - The name attribute for the radio group, used to group radio buttons. * @defaultValue undefined * @prop {string} value - The currently selected value of the radio group. * @defaultValue undefined * @prop {boolean} disabled - Whether the radio group and its radio buttons are disabled. * @defaultValue false * @prop {boolean} required - Whether the radio group is required in a form. * @defaultValue false * @prop {boolean} error - Whether the radio group is in an error state. * @defaultValue false * @prop {string} label - The label text to display above the radio group. * @defaultValue undefined * @prop {RadioSize} size - Defines the size of the radio group and its radio buttons: 'small' | 'medium' | 'large'. * @defaultValue 'medium' * @prop {Direction} direction - The layout direction of the radio buttons: 'horizontal' | 'vertical'. * @defaultValue 'vertical' * @prop {string} captionText - Optional caption text to display below the radio group, often used for error messages or hints. * @defaultValue undefined * * @event {EventEmitter} bcmRadioGroupChange - Emitted when the selected radio button changes, passing the selected radio element. * * @method setClear - Clears the selected value and unchecks all radio buttons. * @method resetCaption - Resets the error state and caption. * * @csspart host - The root element of the radio group. * @csspart container - The container for the radio buttons. * @csspart label - The label element above the radio group. * @csspart caption - The caption text below the radio group. */ import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime'; export declare class BcmRadioGroup implements ComponentInterface { host: HTMLBcmRadioGroupElement; /** * The name attribute for the radio group, used to group radio buttons. * @prop * @defaultValue undefined */ name: string; /** * The currently selected value of the radio group. * @prop * @defaultValue undefined */ value: string; /** * Whether the radio group and its radio buttons are disabled. * @prop * @defaultValue false */ disabled: boolean; /** * Whether the radio group is required in a form. * @prop * @defaultValue false */ required: boolean; /** * Whether the radio group is in an error state. * @prop * @defaultValue false */ error: boolean; /** * The label text to display above the radio group. * @prop * @defaultValue undefined */ label: string; /** * Defines the size of the radio group and its radio buttons: 'small' | 'medium' | 'large'. * @prop * @defaultValue 'medium' */ size: 'small' | 'medium' | 'large'; /** * The layout direction of the radio buttons: 'horizontal' | 'vertical'. * @prop * @defaultValue 'vertical' */ direction: 'horizontal' | 'vertical'; /** * Optional caption text to display below the radio group, often used for error messages or hints. * @prop * @defaultValue undefined */ captionText?: string; bcmRadioGroupChange: EventEmitter; private readonly radioGroupName; get radios(): NodeListOf; componentWillLoad(): void; /** * Clears the selected value (sets it to an empty string) and unchecks all radio buttons. * @method */ setClear(): Promise; /** * Resets the error state and caption. * @method */ resetCaption(): Promise; private handleSlotChange; handleValueChange(newValue: string): void; handleRadioChange(event: CustomEvent): void; private updateRadios; private radioGroupClass; render(): any; }