/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { ElementRef, Injector, OnDestroy, OnInit, Renderer } from '@angular/core'; import { ControlValueAccessor } from './control_value_accessor'; import { NgControl } from './ng_control'; export declare const RADIO_VALUE_ACCESSOR: any; /** * Internal class used by Angular to uncheck radio buttons with the matching name. */ export declare class RadioControlRegistry { private _accessors; add(control: NgControl, accessor: RadioControlValueAccessor): void; remove(accessor: RadioControlValueAccessor): void; select(accessor: RadioControlValueAccessor): void; private _isSameGroup(controlPair, accessor); } /** * The accessor for writing a radio control value and listening to changes that is used by the * {@link NgModel}, {@link FormControlDirective}, and {@link FormControlName} directives. * * ### Example * ``` * @Component({ * template: ` * * * ` * }) * class FoodCmp { * food = 'chicken'; * } * ``` */ export declare class RadioControlValueAccessor implements ControlValueAccessor, OnDestroy, OnInit { private _renderer; private _elementRef; private _registry; private _injector; onChange: () => void; onTouched: () => void; name: string; formControlName: string; value: any; constructor(_renderer: Renderer, _elementRef: ElementRef, _registry: RadioControlRegistry, _injector: Injector); ngOnInit(): void; ngOnDestroy(): void; writeValue(value: any): void; registerOnChange(fn: (_: any) => {}): void; fireUncheck(value: any): void; registerOnTouched(fn: () => {}): void; private _checkName(); private _throwNameError(); }