import { DynamicModule, OnModuleInit } from "@nestjs/common"; import { EntityDescriptor, RelationshipDef } from "../../common/interfaces/entity.schema.interface"; import { Content } from "./entities/content"; import { ContentExtensionConfig } from "./interfaces/content.extension.interface"; /** * ContentModule - Configurable module for Content management. * * Supports optional extension via ContentExtensionConfig. The configuration * shapes both the entity descriptor and the generated Cypher: * - `additionalRelationships` — extra relationships on the descriptor, an * OPTIONAL MATCH per relationship, and the related node in the RETURN * - `ownerMatchPattern` — the owner edge's relationship types / direction * - `requireTldr` — restricts reads to records carrying a non-empty tldr * - `metaFields` — extra computed meta keys hydrated by extra OPTIONAL MATCHes * - `serialiseAuthor` — whether the `author` relationship exists at all * * With no configuration the module behaves exactly as it always has. * * The module is `global: true` so `ContentCypherService` can be handed to * RelevancyService from any module. It is nonetheless excludable from the * foundations composition by class reference * (`FoundationsModule.forRoot({ exclude: [ContentModule] })`). * * @example * ```typescript * // Without extension (default behavior) * ContentModule.forRoot() * * // With extension * ContentModule.forRoot({ * additionalRelationships: [ * { model: topicMeta, relationship: 'HAS_KNOWLEDGE', direction: 'in', cardinality: 'many' }, * ], * }) * ``` */ export declare class ContentModule implements OnModuleInit { private readonly descriptor; constructor(descriptor: EntityDescriptor>); /** * Configure ContentModule with optional extension. * * @param extension - Optional configuration for the Content descriptor and Cypher * @returns DynamicModule configured with extension support */ static forRoot(extension?: ContentExtensionConfig): DynamicModule; onModuleInit(): void; } //# sourceMappingURL=content.module.d.ts.map