import { Provider } from "@nestjs/common"; import "reflect-metadata"; /** * App mode enumeration for conditional providers */ export declare enum AppMode { API = "api", WORKER = "worker" } /** * App mode configuration interface */ export interface AppModeConfig { mode: AppMode; enableControllers: boolean; enableWorkers: boolean; enableCronJobs: boolean; } /** * Injection token for app mode */ export declare const APP_MODE_TOKEN: unique symbol; /** * Helper function to create conditional providers based on app mode */ export declare function createConditionalProvider(ServiceClass: new (...args: any[]) => T, modes: AppMode[]): Provider; /** * Helper function to create providers that only run in worker mode */ export declare function createWorkerProvider(ServiceClass: new (...args: any[]) => T): Provider; /** * Helper function to create providers that only run in API mode */ export declare function createApiProvider(ServiceClass: new (...args: any[]) => T): Provider; /** * Helper function to create providers that run in both modes but are mode-aware */ export declare function createModeAwareProvider(ServiceClass: new (...args: any[]) => T): Provider; /** * Base class for services that need to be mode-aware */ export declare abstract class ModeAwareService { protected appMode?: AppModeConfig; setAppMode(appMode: AppModeConfig): void; protected isApiMode(): boolean; protected isWorkerMode(): boolean; protected shouldRunCronJobs(): boolean; protected shouldProcessJobs(): boolean; } //# sourceMappingURL=conditional-service.decorator.d.ts.map