/** * Defines configuration options required for setting up * the Authentication module, including secrets used for * JWT verification and internal Kubernetes token validation. */ export type AuthenticationModuleOptions = { /** Secret key for signing and verifying JWTs */ jwtSecret: string; /** Shared service token for internal service requests */ k8sToken: string; }; /** * Defines the shape of the asynchronous configuration object * for the Authentication module, allowing dynamic and * asynchronous provision of AuthenticationModuleOptions. */ export type AuthenticationModuleAsyncOptions = { /** * A factory function that asynchronously or synchronously * returns an AuthenticationModuleOptions object. * Useful for loading config from environment, remote services, etc. */ useFactory: (...args: any[]) => Promise | AuthenticationModuleOptions; /** * An optional list of providers to be injected into the factory function. * Allows dependency injection of other services or configuration values. */ inject?: any[]; };