import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit'; import { SbbHorizontalFrom, SbbOrientation } from '../../core/interfaces.js'; import { SbbRadioButtonElement, SbbRadioButtonSize } from '../radio-button.js'; export type SbbRadioButtonGroupEventDetail = { value: any | null; radioButton: SbbRadioButtonElement; }; declare const SbbRadioButtonGroupElement_base: import('../../core/mixins.js').AbstractConstructor & typeof LitElement; /** * It can be used as a container for one or more `sbb-radio-button`. * * @slot - Use the unnamed slot to add `sbb-radio-button` elements to the `sbb-radio-button-group`. * @slot error - Use this to provide a `sbb-form-error` to show an error message. * @event {CustomEvent} didChange - Deprecated. Only used for React. Will probably be removed once React 19 is available. Emits whenever the `sbb-radio-group` value changes. * @event {CustomEvent} change - Emits whenever the `sbb-radio-group` value changes. * @event {CustomEvent} input - Emits whenever the `sbb-radio-group` value changes. */ export declare class SbbRadioButtonGroupElement extends SbbRadioButtonGroupElement_base { static styles: CSSResultGroup; static readonly events: { readonly didChange: "didChange"; readonly change: "change"; readonly input: "input"; }; /** * Whether the radios can be deselected. */ allowEmptySelection: boolean; /** * Whether the radio group is required. */ required: boolean; /** * The value of the radio group. */ value?: any | null; /** * Size variant, either m or s. */ size: SbbRadioButtonSize; /** * Overrides the behaviour of `orientation` property. */ horizontalFrom?: SbbHorizontalFrom; /** * Radio group's orientation, either horizontal or vertical. */ orientation: SbbOrientation; /** * List of contained radio buttons. */ get radioButtons(): SbbRadioButtonElement[]; private get _enabledRadios(); private _hasSelectionPanel; private _didLoad; private _abort; private _valueChanged; /** * Emits whenever the `sbb-radio-group` value changes. * @deprecated only used for React. Will probably be removed once React 19 is available. */ private _didChange; /** * Emits whenever the `sbb-radio-group` value changes. */ private _change; /** * Emits whenever the `sbb-radio-group` value changes. */ private _input; constructor(); connectedCallback(): void; willUpdate(changedProperties: PropertyValues): void; protected firstUpdated(changedProperties: PropertyValues): void; disconnectedCallback(): void; private _onRadioButtonSelect; private _emitChange; private _updateRadios; private _setFocusableRadio; private _getRadioTabIndex; private _handleKeyDown; protected render(): TemplateResult; } declare global { interface HTMLElementTagNameMap { 'sbb-radio-button-group': SbbRadioButtonGroupElement; } } export {}; //# sourceMappingURL=radio-button-group.d.ts.map