import { Provider, EventEmitter } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import * as i0 from "@angular/core";
/**
* Provider Expression that allows vud-radio-group to register as a ControlValueAccessor.
* This allows it to support [(ngModel)] and ngControl.
*/
export declare const RADIO_CONTROL_VALUE_ACCESSOR: Provider;
export type VudRadioType = 'default' | 'outline';
export declare class VudRadioGroupComponent implements ControlValueAccessor {
/** @ignore */
private readonly cdRef;
/** @ignore */
private _uniqueId;
/** @ignore */
private _onTouched?;
/** @ignore */
private _onModelChanged?;
/** @ignore */
private _disabled;
/** @ignore */
private _value;
/** Name of the radio button group. All radio buttons inside this group will use this name. */
name: string;
type: VudRadioType;
/**
* Value for the radio-group. Should equal the value of the selected radio button if there is
* a corresponding radio button with a matching value. If there is not such a corresponding
* radio button, this value persists to be applied in case a new radio button is added with a
* matching value.
*/
get value(): string | null;
set value(value: string | null);
/** Whether the radio group is disabled */
get disabled(): boolean;
set disabled(value: boolean);
/**
* Event emitted when the group value changes.
* Change events are only emitted when the value changes due to user interaction with
* a radio button (the same behavior as ``).
*/
valueChange: EventEmitter;
/** @ignore */
registerOnChange(fn: (value: any) => void): void;
/** @ignore */
registerOnTouched(fn: any): void;
/** @ignore */
writeValue(value: any): void;
/** @ignore */
setDisabledState(isDisabled: boolean): void;
/** @ignore */
onValueChange(value: string | null): void;
/** @ignore */
onBlur(): void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
static ngAcceptInputType_disabled: unknown;
}