import { Model } from '../model'; import { ExtractModelAttributesType } from '../types/extractModelAttributesType'; import { ExtractModelPersistedAttributesType } from '../types/extractModelPersistedAttributesType'; import { ExtractModelRelationsType } from '../types/extractModelRelationsType'; import { ExtractModelKeyType } from '../types/extractModelKeyType'; export interface ModelConstructor, PersistedAttributes = ExtractModelPersistedAttributesType, Relations = ExtractModelRelationsType, Key = ExtractModelKeyType, AllAttributes = Attributes & PersistedAttributes> { new (attributes?: AllAttributes, relations?: Relations): M; }