import * as _angular_core from '@angular/core';
import { ControlValueAccessor, NgControl, Validators } from '@angular/forms';
import { RadioButton } from 'primeng/radiobutton';
import { isInvalid } from '@masterteam/components';

interface radioOptions {
    label: string;
    value: string;
}
declare class RadioButtonField implements ControlValueAccessor {
    radioButton: RadioButton;
    labelPosition: _angular_core.InputSignal<"top" | "start" | "end" | "bottom">;
    orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
    readonly: _angular_core.InputSignal<boolean>;
    pInputs: _angular_core.InputSignal<Partial<RadioButton> | undefined>;
    required: _angular_core.InputSignal<boolean>;
    options: _angular_core.InputSignal<radioOptions[]>;
    size: _angular_core.InputSignal<"small" | "large" | undefined>;
    label: _angular_core.InputSignal<string | undefined>;
    onChange: _angular_core.OutputEmitterRef<string>;
    ngControl: NgControl;
    isInvalid: typeof isInvalid;
    isVertical: _angular_core.Signal<boolean>;
    requiredValidator: typeof Validators.required;
    value: _angular_core.WritableSignal<string | null>;
    disabled: _angular_core.WritableSignal<boolean>;
    onTouched: () => void;
    onModelChange: (value: string | null) => void;
    constructor();
    applyInputsToRadioButton(): void;
    onValueChange(value: string | null): void;
    writeValue(value: string | null): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(disabled: boolean): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioButtonField, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioButtonField, "mt-radio-button-field", never, { "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "pInputs": { "alias": "pInputs"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "onChange": "onChange"; }, never, never, true, never>;
}

export { RadioButtonField };
export type { radioOptions };
