import { ElementRef, EventEmitter, ChangeDetectorRef, QueryList, AfterViewInit, OnDestroy, OnInit, AfterContentInit } from '@angular/core'; import { FocusMonitor } from '@angular/cdk/a11y'; import { CanDisable, HasTabIndex } from '@dynatrace/ngx-groundhog/core'; import { UniqueSelectionDispatcher } from '@angular/cdk/collections'; /** Change event object emitted by GhRadioButton */ export interface GhRadioChange { source: GhRadioButton; value: any; } export declare class GhRadioGroup implements AfterContentInit, CanDisable { private _changeDetector; private _value; private _name; private _selected; private _disabled; private _required; private _isInitialized; /** Name of the radio button group. All radio buttons inside this group will use this name. */ name: string; /** Value of the radio button. */ value: any; /** Whether the radio button is selected. */ selected: GhRadioButton | null; /** Whether the radio group is disabled */ disabled: boolean; /** Whether the radio group is required */ required: boolean; readonly change: EventEmitter; onTouched: () => any; /** The method to be called in order to update ngModel */ _controlValueAccessorChangeFn: (value: any) => void; _radios: QueryList; constructor(_changeDetector: ChangeDetectorRef); ngAfterContentInit(): void; _checkSelectedRadioButton(): void; _touch(): void; /** Dispatch change event with current selection and group value. */ _emitChangeEvent(): void; /** Implemented as a part of ControlValueAccessor. */ writeValue(value: any): void; /** Implemented as a part of ControlValueAccessor. */ registerOnChange(fn: (value: any) => void): void; /** Implemented as a part of ControlValueAccessor. */ registerOnTouched(fn: any): void; /** Implemented as a part of ControlValueAccessor. */ setDisabledState(isDisabled: boolean): void; private _markRadiosForCheck(); /** Set the name of every radio button to the groups name */ private _updateRadioButtonNames(); /** Updates the `selected` state of each radio button based on the groups value. */ private _updateSelectedRadioFromValue(); } export declare class GhRadioButtonBase { disabled: boolean; } export declare const _GhRadioButtonMixinBase: (new (...args: any[]) => HasTabIndex) & typeof GhRadioButtonBase; export declare class GhRadioButton extends _GhRadioButtonMixinBase implements OnInit, AfterViewInit, OnDestroy, CanDisable, HasTabIndex { private _elementRef; private _changeDetector; private _radioDispatcher; private _focusMonitor; private _radioGroup; private _uniqueId; private _required; private _checked; private _disabled; private _value; private _removeUniqueSelectionListener; /** The unique ID for the radio button. */ id: string; /** Whether the radio button is required. */ required: boolean; /** Whether the radio button is disabled. */ disabled: boolean; /** Whether this radio button is checked. */ checked: boolean; /** The value of this radio button. */ value: any; /** Analog to HTML 'name' attribute used to group radios for unique selection. */ name: string; /** Used to set the 'aria-label' attribute on the underlying input element. */ ariaLabel: string; /** The 'aria-labelledby' attribute takes precedence as the element's text alternative. */ ariaLabelledby: string; /** The 'aria-describedby' attribute is read after the element's label and field type. */ ariaDescribedby: string; readonly change: EventEmitter; /** ID of the native input element */ readonly _inputId: string; /** The native radio input element */ _inputElement: ElementRef; constructor(_elementRef: ElementRef, _changeDetector: ChangeDetectorRef, _radioDispatcher: UniqueSelectionDispatcher, _focusMonitor: FocusMonitor, _radioGroup: GhRadioGroup); ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; /** Focuses the radio button. */ focus(): void; _onInputClick(event: Event): void; _onInputChange(event: Event): void; _markForCheck(): void; /** Dispatch change event with current value. */ private _emitChangeEvent(); private _onInputFocusChange(focusOrigin); }