import { ChangeDetectorRef, OnInit, QueryList } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { Subject } from 'rxjs';
import { RadioListAccessor, RadioListColor, RadioListSize, RadioListValue } from './radio-list.types';
import { BooleanInput } from '@angular/cdk/coercion';
import { OptionComponent } from '../select';
import * as i0 from "@angular/core";
export declare class RadioListComponent implements RadioListAccessor, ControlValueAccessor, OnInit {
    private cdr;
    control?: NgControl | undefined;
    static ngAcceptInputType_disabled: BooleanInput;
    private onChange?;
    private onTouched?;
    private _mouseDown;
    private _value;
    size: RadioListSize;
    color: RadioListColor;
    disabled: boolean;
    optionsRef: QueryList<OptionComponent>;
    focusedValue?: RadioListValue;
    onChange$: Subject<unknown>;
    get value(): RadioListValue;
    set value(v: RadioListValue);
    constructor(cdr: ChangeDetectorRef, control?: NgControl | undefined);
    ngOnInit(): void;
    writeValue(source: RadioListValue): void;
    registerOnChange(onChange: (source: RadioListValue) => void): void;
    registerOnTouched(onTouched: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    private prev;
    private next;
    private mouseDown;
    private mouseUp;
    private focus;
    private focusout;
    private select;
    static ɵfac: i0.ɵɵFactoryDeclaration<RadioListComponent, [null, { optional: true; self: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RadioListComponent, "xui-radio-list", never, { "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, ["optionsRef"], ["*"], false, never>;
}
