import { OnInit, OnChanges, SimpleChanges, EventEmitter } from '@angular/core';
import { FormControl } from '@angular/forms';
import { MatRadioChange } from '@angular/material/radio';
import { UiRadioCompareWithDirective, UiRadioCompareWithFn } from '../../../directives';
import { ItemRecord, ItemRecords$ } from '../../../../core';
import * as i0 from "@angular/core";
export declare class CacRadioComponent<T> implements OnInit, OnChanges {
    radioGroup: UiRadioCompareWithDirective<any>;
    control: FormControl<T | null | undefined>;
    items: ItemRecords$<T>;
    label?: string;
    readonly: boolean;
    preventDefault: boolean;
    value?: T;
    hiddenItems?: T[];
    compareFn?: UiRadioCompareWithFn<any>;
    valueChange: EventEmitter<any>;
    fetchedItems: import("@angular/core").WritableSignal<ItemRecord<T, unknown>[] | undefined>;
    currentItems: import("@angular/core").Signal<ItemRecord<T, unknown>[] | undefined>;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    onValueChange(e: MatRadioChange): void;
    private loadItems;
    private updateControlState;
    static ɵfac: i0.ɵɵFactoryDeclaration<CacRadioComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CacRadioComponent<any>, "cac-radio", never, { "control": { "alias": "control"; "required": false; }; "items": { "alias": "items"; "required": false; }; "label": { "alias": "label"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "preventDefault": { "alias": "preventDefault"; "required": false; }; "value": { "alias": "value"; "required": false; }; "hiddenItems": { "alias": "hiddenItems"; "required": false; }; "compareFn": { "alias": "compareFn"; "required": false; }; }, { "valueChange": "valueChange"; }, never, ["[slot=no-data]"], true, never>;
}
