import { IFieldStatus, IFieldUI, IFieldProps, IField, IFieldEnum, IForm, ISchema, IFieldList, IFieldGroup, IIgnoreValueType, IOptionManagerOptionsArray } from './index'; export interface IReactFieldProps { field: IField; core: IForm; } export interface IReactFieldListProps { field: IFieldList; core: IForm; } export interface IReactFieldGroupProps { field: IFieldGroup; core: IForm; } export interface IReactFieldState { type: string; status: IFieldStatus; ui: IFieldUI; props: IFieldProps; options: { [key: string]: any }[]; value: any; } export interface IReactFormProps { schema: ISchema; ignoreValues?: IIgnoreValueType[]; [key: string]: any; } export interface IReactFormState { fields: IFieldEnum[]; } export interface IReactOption { label: string; value: number | string; disabled?: boolean; [key: string]: any; } export type IEitherOption = string | { [key: string]: any } | IReactOption; export interface IReactOptionGroup { groupLabel: string; options: IReactOption[]; } export interface IReactComponent { onChange: (e: any) => void; [prop: string]: any; } export interface IReactConstant { name: string; component: any; hideIcon?: boolean; preview?: (value: any, options?: IReactOption[]) => string; } export type IReactConstantList = IReactConstant[]; export interface IReactOptionsComponent { options: IReactOption[]; onChange: (e: any) => void; [prop: string]: any; } export interface IReactAutoComplete { children: React.ReactElement[]; onChange: (e: any) => void; [prop: string]: any; } export interface IReactTransfer { children: (e: any) => React.ReactElement; onChange: (e: any) => void; [prop: string]: any; } export interface IReactComponentProps { field: IField; options: IOptionManagerOptionsArray; value: any; onChange: (value: any) => void; [prop: string]: any; } export interface IReactComponentState { [state: string]: any; }