import { LoggerService, LogLevel } from '../services/logger.service'; /** * @publicApi */ export declare class NestApplicationContextOptions { /** * Specifies the logger to use. Pass `false` to turn off logging. */ logger?: LoggerService | LogLevel[] | false; /** * Whether to abort the process on Error. By default, the process is exited. * Pass `false` to override the default behavior. If `false` is passed, Nest will not exit * the application and instead will rethrow the exception. * @default true */ abortOnError?: boolean | undefined; /** * If enabled, logs will be buffered until the "Logger#flush" method is called. * @default false */ bufferLogs?: boolean; /** * If enabled, logs will be automatically flushed and buffer detached when * application initialization process either completes or fails. * @default true */ autoFlushLogs?: boolean; /** * Whether to run application in the preview mode. * In the preview mode, providers/controllers are not instantiated & resolved. * * @default false */ preview?: boolean; /** * Whether to generate a serialized graph snapshot. * * @default false */ snapshot?: boolean; /** * Determines what algorithm use to generate module ids. * When set to `deep-hash`, the module id is generated based on the serialized module definition. * When set to `reference`, each module obtains a unique id based on its reference. * * @default 'reference' */ moduleIdGeneratorAlgorithm?: 'deep-hash' | 'reference'; /** * Instrument the application context. * This option allows you to add custom instrumentation to the application context. */ instrument?: { /** * Function that decorates each instance created by the application context. * This function can be used to add custom properties or methods to the instance. * @param instance The instance to decorate. * @returns The decorated instance. */ instanceDecorator: (instance: unknown) => unknown; }; }