import { GeneralFormFieldValidatorInterface } from './general-form-field-validator.interface'; import { SelectOptionInterface } from './select-option.interface'; import { FormGroup } from '@angular/forms'; import { GeneralODataServiceInterface } from './general-odata-service.interface'; import { GridColumnInterface } from './grid-column.interface'; import { GridColumnFilterInterface } from './grid-column-filter.interface'; import { GeneralFieldConfigInterface } from './general-field-config.interface'; import { TextboxCurrencyConfigInterface } from './textbox-currency-config.interface'; declare type HiddenFieldType = { type: 'hiddenField'; }; declare type LabelType = { type: 'label'; }; declare type TextboxType = { type: 'textbox'; maxlength?: number; inputType?: 'currency' | 'number' | 'tel' | 'date' | 'email' | 'password' | 'url' | 'text' | (string & {}); currencyConfig?: TextboxCurrencyConfigInterface; }; declare type TextareaType = { type: 'textarea'; maxlength?: number; }; declare type SelectType = { type: 'select'; }; declare type CheckboxType = { type: 'checkbox'; }; declare type RadioType = { type: 'radio'; }; declare type IdentitySelectorType = { type: 'identity-selector'; }; interface SelectConfigInterface { multiple?: boolean; oDataService?: GeneralODataServiceInterface; bindValue?: string; bindLabel?: string; isLoaded?: boolean; isLoading?: boolean; } interface IndentiySelectorConfigInterface { valueData?: any; inputField: string; secondInputField?: string; resultField: string; displayField: string; gridFields?: GridColumnInterface[]; oDataService: GeneralODataServiceInterface; oDataServer: string; oDataTable: string; oDataEntity?: string; oDataHttpHeaders?: { [key: string]: string; }; oDataFilters?: GridColumnFilterInterface[]; } interface CheckBoxConfigInterface { bindNumberValue: boolean; } export declare type GeneralFormFieldConfigInterface = { placeholder?: string; validators?: GeneralFormFieldValidatorInterface[]; columnWidth?: 2 | 3 | 4 | 6 | 8 | 12; columnWidthInside?: 2 | 3 | 4 | 6 | 8 | 12 | 24; options?: SelectOptionInterface[]; selectConfig?: SelectConfigInterface; identitySelectorConfig?: IndentiySelectorConfigInterface; checkBoxConfig?: CheckBoxConfigInterface; value?: any; defaultValue?: any; hidden?: boolean | (() => boolean); binding?: string; fieldsetSectionSlug?: string; disabled?: boolean | (() => boolean); onChange?: (changedValue: any, formGroup?: FormGroup, formConfig?: GeneralFieldConfigInterface) => void; } & (HiddenFieldType | LabelType | TextboxType | TextareaType | SelectType | CheckboxType | RadioType | IdentitySelectorType); export {};