/** * NestJS Module for @plyaz/core * * Provides dependency injection integration for NestJS applications. * Supports optional streaming integration when streaming config is provided. * * @example * ```typescript * // app.module.ts * import { CoreModule } from '@plyaz/core/nestjs'; * * @Module({ * imports: [ * CoreModule.forRoot({ * envPath: '.env', * db: { adapter: 'sql' }, * }), * ], * }) * export class AppModule {} * ``` * * @example With streaming * ```typescript * CoreModule.forRoot({ * db: { adapter: 'sql' }, * streaming: { * enabled: true, * server: { heartbeatInterval: 30000 }, * }, * }) * ``` * * @example Async configuration * ```typescript * CoreModule.forRootAsync({ * imports: [ConfigModule], * useFactory: (config: ConfigService) => ({ * db: { * adapter: 'sql', * sql: { connectionString: config.get('DATABASE_URL') }, * }, * }), * inject: [ConfigService], * }) * ``` */ import { type DynamicModule } from '@nestjs/common'; import { type CoreInitOptions } from '../CoreInitializer'; import type { CoreNestJsCoreModuleAsyncOptions } from '@plyaz/types/core'; /** * Injection tokens for Core services */ export declare const CORE_OPTIONS: unique symbol; export declare const DB_SERVICE: unique symbol; /** * Async configuration options for CoreModule * Uses CoreInitOptions for type safety with Core.initialize() */ type CoreModuleAsyncOptions = CoreNestJsCoreModuleAsyncOptions; /** * CoreModule - NestJS DI module for @plyaz/core * * Features: * - Database service injection * - Optional streaming integration * - Full Core.initialize() orchestration * - Global module - providers available throughout the app */ export declare class CoreModule { /** * Register CoreModule with static configuration */ static forRoot(options?: CoreInitOptions): DynamicModule; /** * Register CoreModule with async configuration */ static forRootAsync(options: CoreModuleAsyncOptions): DynamicModule; } export {}; //# sourceMappingURL=CoreModule.d.ts.map