import { EventEmitter } from '@angular/core';
import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';
import * as i0 from "@angular/core";
export interface RadioItem {
    name?: string;
    label: string;
    value: any;
}
export declare class RadiogroupComponent implements ControlValueAccessor, Validator {
    private touched;
    name: string;
    disabled: boolean | null;
    readonly: boolean | null;
    required: boolean | null;
    set items(col: RadioItem[]);
    get items(): RadioItem[];
    itemsChange: EventEmitter<RadioItem[]>;
    set value(v: any);
    get value(): any;
    valueChange: EventEmitter<any>;
    private _value;
    private _items;
    constructor();
    onChange: (value: any) => void;
    onTouched: () => void;
    writeValue(value: any): void;
    registerOnChange(onChange: any): void;
    registerOnTouched(onTouched: any): void;
    markAsTouched(): void;
    setDisabledState(disabled: boolean): void;
    registerOnValidatorChange(): void;
    validate(control: AbstractControl): ValidationErrors | null;
    setValue(event: MouseEvent, item: RadioItem): void;
    ensureHasUniqueName(item: RadioItem, index: number): RadioItem;
    static ɵfac: i0.ɵɵFactoryDeclaration<RadiogroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RadiogroupComponent, "lux-radiogroup", never, { "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "items": { "alias": "items"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "itemsChange": "itemsChange"; "valueChange": "valueChange"; }, never, never, false, never>;
}
