import { DataCollectionStore, MainStoreInjected, WithId, HasId, MayHaveInstanceName, MetaClassInfo, MetaPropertyInfo } from '@haulmont/jmix-react-core'; import { FormItemProps } from 'antd/es/form'; import * as React from 'react'; import { SelectProps, SelectValue } from 'antd/es/select'; import { InputProps } from 'antd/es/input/Input'; import { InputNumberProps } from 'antd/es/input-number'; import { CheckboxProps } from 'antd/es/checkbox/Checkbox'; import { FileUploadProps } from '../FileUpload'; import { DatePickerProps } from '../DatePicker'; import { TimePickerProps } from '../TimePicker'; export interface FieldProps { entityName: string; propertyName: string; /** * It is a data collection containing entity instances that can be assigned to this property * (i.e. possible options that can be selected in a form field). * * @deprecated use {@link associationOptions} */ optionsContainer?: DataCollectionStore; /** * Contains the possible options that can be selected in a form field. */ associationOptions?: Array; /** * This prop shall be supplied if the entity property has One-to-Many Composition relation type. * It is an id of the enclosing entity instance. */ parentEntityInstanceId?: string; /** * When `true`, the field will be non-editable. */ disabled?: boolean; /** * Props that will be passed through to {@link https://ant.design/components/form/ | Form.Item} component. */ formItemProps?: FormItemProps; /** * Props that will be passed through to the underlying component (i.e. the actual component * that will be rendered, such as `DatePicker` or `Select`). */ componentProps?: FormFieldComponentProps; } export declare const Field: (props: FieldProps) => JSX.Element; export declare function getDefaultFormItemProps(entitiesMetadata: MetaClassInfo[], entityName: string, propertyName: string): FormItemProps; export declare type FormFieldComponentProps = SelectProps | InputProps | InputNumberProps | CheckboxProps | DatePickerProps | TimePickerProps | FileUploadProps; /** * See {@link FieldProps} */ export declare type FormFieldProps = MainStoreInjected & { entityName: string; propertyName: string; disabled?: boolean; optionsContainer?: DataCollectionStore; associationOptions?: Array; nestedEntityView?: string; parentEntityInstanceId?: string; } & FormFieldComponentProps; export declare const FormField: React.ForwardRefExoticComponent> & import("mobx-react").IWrappedComponent>>; interface EnumFieldProps extends SelectProps { enumClass: string; } export declare const EnumField: ({ enumClass, ...rest }: EnumFieldProps) => JSX.Element; export declare function getEntityProperties(entityName: string, fields: string[], metadata: MetaClassInfo[]): MetaPropertyInfo[]; export {};