/** Core */
import { CoreComponent } from "cmf.core/src/core";
/** Angular2 */
import * as ng from "@angular/core";
import { OnValidateArgs, OnValidate } from "../../directives/validator/validator";
export interface ComponentData {
index: number;
name: string;
disabled: boolean;
obj: any;
}
/**
* @whatItDoes
* Radio basic component. Used to select an item in the provided collection.
*
* @howToUse
* This component is used with the inputs and outputs mentioned below.
*
* ### Inputs
* `boolean` : **disabled** - Defines if the control will be disabled - note that this will override the disabled field of the individual elements ;
* `any[]` : **data** - The data collection used to populate the select component. Must have at least two fields: 'value' field and a 'text' field ;
* `string` : **name-field** - The object field that should be accessed to get the text to display in the component items ;
* `string` : **disabled-field** - The object field that should be accessed to get the text to display in the component items ;
* `string` : **comparison-field** - Gets or sets the comparison Field. By default is not defined ;
* `boolean` : **value** - The currently selected value of the Select component.
* `boolean` : **required** - Defines if the element requires to be filed
*
* ### Outputs
* `any` : **valueChange** - The selected value change event, so the component can inform the upper components that the selected value has changed .
*
* ### Example
* To use the component, assume this HTML Template as an example:
*
* ```HTML
*
*
* ```
*
*/
export declare class Radio extends CoreComponent implements ng.AfterContentInit, OnValidate {
/**
* Defines if the control will be disabled - note that this will override the disabled field of the individual elements
*/
private _disabled;
/**
* The data collection used to populate the select component. Must have at least two fields: 'value' field and a 'text' field.
*/
private _data;
/**
* The data collection, used to populate the Select component. Its a super set of the original supplied data collection.
*/
_componentData: Array;
/**
* The index of the currently selected value
*/
_selectedIndex: number;
/**
* The currently selected value of the Select component
*/
private _value;
/**
* The object field that should be accessed to get the text to display in the component items
*/
dataNameField: string;
/**
* The object field that should be accessed to get the text to display in the component items
*/
dataDisabledField: string;
/**
* Gets or sets the comparison Field. By default is not defined.
*/
dataComparisonField: string;
/**
* Defines if the element requires to be filed
*/
required: boolean;
/**
* Property _isDisabled getter/setter
*/
disabled: boolean;
/**
* Property selected value getter/setter
*/
value: any;
/**
* Property data getter/setter
*/
data: any[];
/**
* The selected value change event, so the component can inform the upper components that the selected value has changed
*
* @property {ng.EventEmitter} init event
*/
valueChanged: ng.EventEmitter;
constructor();
/**
* Set selected value by index. This method sets the value of property _value
*
* @param {any} [value] new value for property transitions selected value index
*/
private setValueByIndex;
/**
* Set selected value by index. This method sets the value of property _value
*/
private setSelectedIndexByValue;
/**
* Set internal component data.
*/
private setComponentData;
/**
* When any checkbox is checked
*
* @param {Taura.EventArgs} [event] object containing event data
* @param {any} [value] date time picker current value
*/
onCheck(event: Event, index: number): void;
/**
* When any checkbox is checked
*
* @param {Taura.EventArgs} [event] object containing event data
* @param {any} [value] date time picker current value
*/
/**
* On Validate method
*
* @param args Validation arguments given by the framework
*/
onValidate(args: OnValidateArgs): Promise;
/**
* When select component is initiated - if possible set component data and selected value
*/
ngAfterContentInit(): void;
}
export declare class RadioModule {
}