import IEntityAnnotation = require('../../../src/ODBM/Entity/Annotation/IEntityAnnotation'); export = My; declare module My { class MyEntity { private object; static $entity: IEntityAnnotation; Object: IMyEntityObject; constructor(object: IMyEntityObject); } interface IMyEntityObject { id: number; name: string; embedded: { description: string; createdAt: Date; }; arrayEmbedded: { coolness: number; }[]; array: string[]; } class PlainEntity { private object; static $entity: IEntityAnnotation; Object: IPlainEntityObject; constructor(object: IPlainEntityObject); } interface IPlainEntityObject { id: number; name: string; type: string; } }