import { Component, ContentType } from 'contensis-core-api'; import { TagGroup } from 'contensis-management-api'; import { IContensisContext, ModelDependencies, MigrateRequest, Model } from '../models'; import ContensisRepository from '../repositories/ContensisRepository'; import ContentTypeHelper from '../util/content-type/ContentTypeHelper'; declare class ModelGenerationService { private contensis; private payload; private isSource; private context; private noCache?; private outputProgress?; private raw; constructor(contensis: ContensisRepository, payload: MigrateRequest, isSource?: boolean); get dependencies(): { contentTypes: ModelDependencies[]; components: ModelDependencies[]; defaults: (Omit & { dependencies: import("../models/EntryDependencies").EntryDependencyMeta[]; })[]; nodes: ModelDependencies[]; tagGroups: ModelDependencies[]; getById: (contentTypeOrComponentId: string) => ModelDependencies | undefined; getByContentId: (entryOrNodeId: string) => ContentTypeHelper["dependencies"]["defaults"][0] | ContentTypeHelper["dependencies"]["nodes"][0] | undefined; getByTagGroupId: (tagGroupId: string) => ModelDependencies | undefined; }; get contentTypes(): ContentType[]; set contentTypes(val: ContentType[]); get components(): Component[]; set components(val: Component[]); get tagGroups(): TagGroup[]; set tagGroups(val: TagGroup[]); get models(): Model[]; /** * Get Contensis context to provide a handle on anything we have fetched from the repository during hydration * * project * * contentTypes * * components * * taggroups * * entries (resolved from dependencies) * * models (built from dependencies) * * nodes (resolved from dependencies) * * dependencies * @param assets work with any content types or components added via the payload */ GetContensisContext: (resourceIds?: string[], assets?: (ContentType | Component)[]) => Promise; private GenerateDependenciesList; private ResolveDefaults; private GenerateEntryDependenciesList; private GenerateModels; private GenerateModel; } export default ModelGenerationService;