import { OnInit, OnDestroy } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { Observable } from 'rxjs';
/**
* This components provides a radiogroup composed of radios based on the elements from an enum or the observable of an array.
* //TODO : See with Thierry for precisions and/or rectifications where ***** Question ? *****
*
* @example
*
*
*/
export declare class RadioListComponent implements ControlValueAccessor, OnInit, OnDestroy {
/**
* Object listing choices
*/
enumOfChoices: {
[k: string]: any;
};
/**
* Observable of an array listing choices provided to the component
* ***** Can it be an enum ? *****
*/
values?: Observable;
/**
* Name of the enumeration where the possible values are listed
*/
enumName?: string;
/**
* True if the values were provided as an enum
*/
enum: boolean;
/**
* Key Id of the element selected
* ***** From enum ? What if the element is selected from an observable ? *****
*/
private _selected;
/**
* Subscription to the observable provided
*/
private subscriber;
/**
* Array of possible values build from observable or enum provided
*/
private _currentValues;
/**
* Called when the directive is initialized.
* Constructs the list of choices.
*/
ngOnInit(): void;
/**
* Called when the directive is destroyed.
* Unsubscribes to the observable if it was provided
*/
ngOnDestroy(): void;
/**
* Gets the _selected value.
*/
/**
* Sets the provided value and propagate it to the model/control
*/
selected: number;
/**
* This method is part of ControlValueAccessor interface.
* Its role is to set value from the model to the DOM
*
* @param value Value given from the model
*/
writeValue(value: any): void;
/**
* This method is part of ControlValueAccessor interface.
* Its role is to set the function that will propagate changes from the DOM to the model.
*
* @param fn {function} Angular internal function
*/
registerOnChange(fn: any): void;
/**
* This method is part of ControlValueAccessor interface.
* Not used here
*/
registerOnTouched(): void;
/**
* Container for the propagation function.
*/
propagateChange: (_: any) => void;
}