import { Type } from '@angular/core';
import { type LucideIconData } from 'lucide-angular';
import { BaseInputDirective } from '../../../components/base/base-input/base-input.directive';
import { type RuntimeRadioSignalField } from '../../../models/signal-field-types.model';
import * as i0 from "@angular/core";
export declare class SignalFormRadioFieldComponent<TModel extends object, K extends keyof TModel = keyof TModel> extends BaseInputDirective<RuntimeRadioSignalField<TModel, K>, TModel, K> {
    /**
     * Convert option value to string for radio input value attribute
     */
    valueToString(value: TModel[K]): string;
    /**
     * Check if any options have icons to determine layout style
     */
    hasIcons(): boolean;
    /**
     * Check if an option is currently selected
     */
    isOptionSelected(optionValue: TModel[K]): boolean;
    /**
     * Check if icon is a Lucide icon data (prioritized check)
     */
    isLucideIcon(icon: string | Type<unknown> | LucideIconData): icon is LucideIconData;
    /**
     * Check if icon is a string (emoji/unicode)
     */
    isStringIcon(icon: string | Type<unknown> | LucideIconData): icon is string;
    /**
     * Check if icon is a component type (fallback)
     */
    isComponentIcon(icon: string | Type<unknown> | LucideIconData): icon is Type<unknown>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SignalFormRadioFieldComponent<any, any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SignalFormRadioFieldComponent<any, any>, "signal-form-radio-field", never, {}, {}, never, never, true, never>;
}
