import { DynamicModule, OnModuleInit } from "@nestjs/common"; import { HowToModuleConfig } from "./interfaces/how-to.config.interface"; /** * HowToModule — authenticated CRUD over help articles, plus an OPT-IN * unauthenticated read surface. * * The static metadata below mounts `HowToController` only, so importing the * module as `HowToModule` (no `forRoot()`) publishes nothing: every route it * adds is behind `JwtAuthGuard`. * * Defaults are deliberately inert: with `forRoot()` and no config, * `HowToPublicController` is NOT registered and the three `public/howtos/*` * routes do not exist. Those routes are unauthenticated by design and their * read filter is `draft IS NULL OR draft = false`, which makes a guide created * without a `draft` property world-readable — publishing a company's guides is * an app-level policy decision, never a side effect of mounting the module. * * @example * ```typescript * // Inert (library default): authenticated CRUD only, no public routes * HowToModule * HowToModule.forRoot() * * // Public knowledge base: adds GET public/howtos and the article routes * HowToModule.forRoot({ publicRoutes: true }) * * // Through FoundationsModule, which mounts this module for you * FoundationsModule.forRoot({ howTo: { publicRoutes: true } }) * ``` */ export declare class HowToModule implements OnModuleInit { /** * Configure the HowToModule. * * @param config - Optional configuration merged over DEFAULT_HOW_TO_CONFIG */ static forRoot(config?: HowToModuleConfig): DynamicModule; onModuleInit(): void; } //# sourceMappingURL=how-to.module.d.ts.map