export enum DataTypes {
  'string',
  'i18n',
  'boolean',
  'number',
  'datetime',
  'object',
  'json',
  'stringArray',
  'i18nArray',
  'booleanArray',
  'numberArray',
  'datetimeArray',
  'objectArray',
  'jsonArray'
}

export interface IFieldScheme {
  name?: string;
  type?: DataTypes;
  scheme?: IObjectScheme;
}

export interface IObjectScheme {
  [key: string]: IFieldScheme;
}

export interface ISchemeScan {
  maxDepth: number;
  followFields: Array<string>;
  schemes: Array<IObjectScheme>;
}
