import type { ModuleMetadata, InjectionToken, OptionalFactoryDependency } from '@nestjs/common'; import type { TKeycloakModuleOptions } from './keycloak.types.js'; /** * Async configuration options for `KeycloakModule.forRootAsync()`. * * Allows module configuration to be deferred until runtime, typically to read * values from environment variables via `ConfigService` or another async source. * * @example * ```ts * KeycloakModule.forRootAsync({ * imports: [ConfigModule], * inject: [ConfigService], * useFactory: (config: ConfigService) => ({ * authServerUrl: config.get('KEYCLOAK_URL'), * realm: config.get('KEYCLOAK_REALM'), * clientId: config.get('KEYCLOAK_CLIENT_ID'), * clientSecret: config.get('KEYCLOAK_CLIENT_SECRET'), * validationMode: 'online' * }) * }) * ``` */ export interface IKeycloakModuleAsyncOptions { /** NestJS modules to import into the async factory's DI context */ imports?: ModuleMetadata['imports']; /** Factory function returning `TKeycloakModuleOptions` (or a Promise of it) */ useFactory: (...args: unknown[]) => Promise | TKeycloakModuleOptions; /** Providers to inject as arguments into `useFactory` */ inject?: Array; } //# sourceMappingURL=keycloak.interfaces.d.ts.map