import { ControlValueAccessor, NgControl } from '@angular/forms'; export declare abstract class UkhoAbstractFormField implements ControlValueAccessor { protected readonly controlDirective?: NgControl; /** * This dictates whether the form field is disabled. */ disabled: boolean; /** * The label which will be used above the input to describe the input. */ label: string; /** * The hint which will be used under the label to describe the input. */ hint: string; /** * A Record of string,string to provide custom messages to be used with Reactive Form validators * EG: `{ required: This field is required }` will cause the `required` validator to display the message specified. */ validationMessages: Record; /** * The maximum width for the input field. */ width: number; private readonly _nextFormFieldId; /** * The registered callback function called when an input event occurs on the input element. */ onChange: (value: T) => void; /** * The registered callback function called when a blur event occurs on the input element. */ onTouch: () => void; constructor(controlDirective?: NgControl); /** * AUTOGENERATED * This is an auto-generated form-field ID */ get id(): string; get errorLabelId(): string; get valid(): boolean; get touched(): boolean; get error(): string; /** * Registers a function called when the control value changes. * Used by ReactiveForms to check for changes */ registerOnChange(fn: (value: T) => void): void; /** * Registers a function called when the control is touched. * Used by ReactiveForms to check for touched-ness */ registerOnTouched(fn: () => void): void; /** * Sets the "disabled" property on the input element. * Used by ReactiveForms for setting the disablement of the element. */ setDisabledState(isDisabled: boolean): void; /** * Sets the "value" property on the input element. * Used by ReactiveForms for setting the element value. */ writeValue(value: T): void; }