import { ElementRef, QueryList, WritableSignal } from '@angular/core'; import { Observable } from 'rxjs'; import { InputTextProps, InputNumberProps, SelectProps, TreeSelectProps, DatePickerProps, AutoCompleteProps, MultiSelectProps, RadioProps, TextAreaProps, UploadProps, ImageProps, ImagePreviewProps, CodeMirrorProps } from './form-type'; import { FieldControl } from './field-control'; import { FormComponent } from '../form/form.component'; import * as i0 from "@angular/core"; export interface FormField { key?: string; type?: 'inputtext' | 'inputnumber' | 'select' | 'treeselect' | 'datepicker' | 'autocomplete' | 'multiselect' | 'radio' | 'textarea' | 'upload' | 'image' | 'imagepreview' | 'codemirror' | 'rowselector'; default?: any; id?: string; name?: string; group?: FormField[]; groupClass?: string; class?: string; innerClass?: string; fieldControl?: FieldControl; inputTextProps?: InputTextProps; inputNumberProps?: InputNumberProps; selectProps?: SelectProps; treeSelectProps?: TreeSelectProps; datePickerProps?: DatePickerProps; autoCompleteProps?: AutoCompleteProps; multiSelectProps?: MultiSelectProps; radioProps?: RadioProps; textAreaProps?: TextAreaProps; uploadProps?: UploadProps; imageProps?: ImageProps; imagePreviewProps?: ImagePreviewProps; codeMirrorProps?: CodeMirrorProps; rowSelectorProps?: any; hide?: boolean; hideExpression?: (model: any, field?: FormField) => boolean; hook?: Observable<(field?: FormField) => void>; validators?: any; invalid?: boolean; extra?: any; uuid?: string; labelMinWidth?: WritableSignal; interactiveLabel?: boolean; form?: FormComponent; } export interface FieldProps { type?: string; label?: string; i18nKey?: string; labelClass?: string; labelVariant?: 'in' | 'over' | 'on'; variant?: any; class?: string; name?: string; placeholder?: string; disabled?: boolean; hidden?: boolean; required?: boolean; size?: any; styleClass?: string; style?: any; autofocus?: boolean; min?: number; max?: number; inputStyle?: any; inputStyleClass?: string; fluid?: boolean; ariaLabel?: string; ariaLabelledBy?: string; focus?: FocusEvent; blur?: FocusEvent; keyup?: KeyboardEvent; keydown?: KeyboardEvent; click?: MouseEvent; input?: Event; change?: Event; keypress?: KeyboardEvent; onModelChange?: AttributeEvent; onHookChange?: AttributeEvent; } export declare type AttributeEvent = (field: FormField, event?: any) => void; export declare class FormFieldComponent { fieldComponents?: QueryList; fieldLabel?: ElementRef; field: import("@angular/core").InputSignal; props: (field: FormField) => FieldProps; constructor(); ngOnInit(): void; labelClass(): string; getStyle(): { width: string | undefined; maxWidth: string; }; getFieldComponents(): QueryList | undefined; getFieldLabel(): ElementRef | undefined; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }