/**
* @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;
}