import { AbstractControl } from '../models/AbstractControl'; export interface FormGroupState { [name: string]: AbstractControl | FormControlState; } export declare type FormArrayState = AbstractControl[]; /** * Interface for configs provided to an `AbstractControl`. * * @publicApi */ export interface FormControlState { value: any; props?: ControlProperties; schema?: object; options?: Array<{ value: any; label: any; [property: string]: any; }>; component?: ComponentType; readonly?: Boolean; disabled?: Boolean; } export declare type ComponentType = 'input' | 'select' | 'textarea' | 'radio' | 'upload' | 'menu'; export declare type AbstractControlState = FormGroupState | FormControlState | FormArrayState; export interface ControlProperties { placeholder?: string; className?: string; id?: string; label?: string; clearable?: boolean; floatLabel?: 'auto' | 'always' | 'never'; feedbackIcons?: boolean; hint?: string; [key: string]: any; } export interface ControlOptions { debounce?: number; nullExclusion?: Boolean; excluded?: Boolean; submitOnChange?: Boolean; updateOn?: 'change' | 'blur' | 'submit'; hidden?: Boolean; }