export interface IForms { forms: IFormsInterface } export interface IFormsInterface { [key: string]: IForm } export interface IForm { objects: IFormObjects type?: string uses_mongo?: boolean privileges?: { [key: string]: boolean, } features?: object errors?: object } export interface IFormObjects { [key: string]: IField } // IField is exactly the save as what is returned from collector export interface IField { type: string name?: string features?: { [key: string]: string | number | object | boolean | [{}] | any, } async?: boolean options?: { [key: string]: any, } | [] _hide?: boolean mandatory?: boolean } // IFormField adds additional properties to what is returned from collector export interface IFormField extends IField { form: string name: string translated_name?: string value?: any prompt?: any data_name?: string label?: any customfield?: any forceType?: string options?: { [key: string]: any, } } export interface IOptions { [key: string]: any }