import { BooleanInput } from '@angular/cdk/coercion'; import { AfterContentInit, ChangeDetectorRef, EventEmitter, QueryList } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { SbbRadioButton, SbbRadioChange } from './radio-button'; export declare class SbbRadioGroup implements AfterContentInit, ControlValueAccessor { protected _changeDetector: ChangeDetectorRef; /** Name of the radio button group. All radio buttons inside this group will use this name. */ get name(): string; set name(value: string); /** * Value for the radio-group. Should equal the value of the selected radio button if there is * a corresponding radio button with a matching value. If there is not such a corresponding * radio button, this value persists to be applied in case a new radio button is added with a * matching value. */ get value(): any; set value(newValue: any); /** * The currently selected radio button. If set to a new radio button, the radio group value * will be updated to match the new selected button. */ get selected(): TRadio | null; set selected(selected: TRadio | null); /** Whether the radio group is disabled */ get disabled(): boolean; set disabled(value: boolean); /** Whether the radio group is required */ get required(): boolean; set required(value: boolean); /** * Event emitted when the group value changes. * Change events are only emitted when the value changes due to user interaction with * a radio button (the same behavior as ``). */ readonly change: EventEmitter; /** Child radio buttons. */ _radios: QueryList; /** Selected value for the radio group. */ private _value; /** The HTML name attribute applied to radio buttons in this group. */ private _name; /** The currently selected radio button. Should match value. */ private _selected; /** Whether the `value` has been set to its initial value. */ private _isInitialized; /** Whether the radio group is disabled. */ private _disabled; /** Whether the radio group is required. */ private _required; /** `View -> model callback called when value changes` */ _controlValueAccessorChangeFn: (value: any) => void; /** `View -> model callback called when radio group has been touched` */ _onTouched: () => any; constructor(_changeDetector: ChangeDetectorRef); _checkSelectedRadioButton(): void; /** * Initialize properties once content children are available. * This allows us to propagate relevant attributes to associated buttons. */ ngAfterContentInit(): void; /** * Mark this group as being "touched" (for ngModel). Meant to be called by the contained * radio buttons upon their blur. */ _touch(): void; /** Dispatch change event with current selection and group value. */ _emitChangeEvent(): void; _markRadiosForCheck(): void; /** Sets the model value. Implemented as part of ControlValueAccessor. */ writeValue(value: any): void; /** * Registers a callback to be triggered when the model value changes. * Implemented as part of ControlValueAccessor. * @param fn Callback to be registered. */ registerOnChange(fn: (value: any) => void): void; /** * Registers a callback to be triggered when the control is touched. * Implemented as part of ControlValueAccessor. * @param fn Callback to be registered. */ registerOnTouched(fn: any): void; /** * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor. * @param isDisabled Whether the control should be disabled. */ setDisabledState(isDisabled: boolean): void; private _updateRadioButtonNames; /** Updates the `selected` radio button from the internal _value state. */ private _updateSelectedRadioFromValue; static ngAcceptInputType_disabled: BooleanInput; static ngAcceptInputType_required: BooleanInput; }