import { EventEmitter } from '@angular/core';
import { RadioChange } from './radio-change.class';
export declare class Radio {
/**
* Used to dynamically create unique ids for the `Radio`.
*/
static radioCount: number;
/** Sets the checked status. */
checked: boolean;
/** Sets the `Radio` `` name. */
name: string;
/** Set to `true` to disable the `Radio`. */
disabled: boolean;
/** Sets the label placement. Default to `right`. */
labelPlacement: 'right' | 'left';
ariaLabelledby: string;
/**
* Sets the HTML required attribute
*/
required: boolean;
/**
* The value of the `Radio`.
*/
value: string;
/**
* Set to `true` for a loading radio.
*/
skeleton: boolean;
/**
* The id for the `Radio`.
*/
id: string;
/**
* emits when the state of the radio changes
*/
change: EventEmitter;
/**
* Binds 'radio' value to the role attribute for `Radio`.
*/
role: string;
hostClass: boolean;
readonly labelLeft: boolean;
protected _labelledby: string;
/**
* Handler provided by the `RadioGroup` to bubble events up
*/
radioChangeHandler: (event: RadioChange) => void;
/**
* Synchronizes with the `RadioGroup` in the event of a changed `Radio`.
* Emits the changes of both the `RadioGroup` and `Radio`.
*/
onChange(event: Event): void;
/**
* Method called by `RadioGroup` with a callback function to bubble `RadioChange` events
* @param fn callback that expects a `RadioChange` as an argument
*/
registerRadioChangeHandler(fn: (event: RadioChange) => void): void;
}