import * as _angular_forms from '@angular/forms';
import { ControlValueAccessor, Validators, NgControl, FormControl } from '@angular/forms';
import * as _angular_core from '@angular/core';
import { MTIcon } from '@masterteam/icons';
import { isInvalid } from '@masterteam/components';

declare class IconField implements ControlValueAccessor {
    readonly label: _angular_core.InputSignal<string>;
    readonly required: _angular_core.InputSignal<boolean>;
    icons: MTIcon[];
    selectedIcon: _angular_core.WritableSignal<string | null>;
    requiredValidator: typeof Validators.required;
    ngControl: NgControl;
    isInvalid: typeof isInvalid;
    constructor();
    protected onTouched: () => void;
    private onChange;
    writeValue(value: string): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    onChangeIcon(icon: string): void;
    validate(c: FormControl): _angular_forms.ValidationErrors | null;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<IconField, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconField, "mt-icon-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

export { IconField };
