/** * Batch processing and scheduling decorators */ import { ChatContext } from '@/types/models'; /** * Class decorator for BatchController */ export declare function BatchController(constructor: T): T; /** * Class decorator for BootstrapController */ export declare function BootstrapController(constructor: T): T; /** * Schedule decorator for batch processing at intervals or using cron expressions * @param intervalOrCron - 실행 간격(밀리초) 또는 cron 표현식 * @param scheduleId - 스케줄 ID (선택사항, 메서드명을 기본값으로 사용) */ export declare function Schedule(intervalOrCron: number | string, scheduleId?: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void; /** * ScheduleMessage decorator for timed message scheduling * @param key - 스케줄 키 (메시지 그룹 식별자) */ export declare function ScheduleMessage(key: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void; /** * Bootstrap decorator for initialization methods * @param priority - 실행 우선순위 (높을수록 먼저 실행) */ export declare function Bootstrap(priority?: number): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void; /** * Helper function to get schedule methods from a controller */ export declare function getScheduleMethods(controller: any): Array<{ method: Function; scheduleId: string; interval?: number; cronExpression?: string; }>; /** * Helper function to get schedule message methods from a controller */ export declare function getScheduleMessageMethods(controller: any): Array<{ method: Function; key: string; }>; /** * Helper function to get bootstrap methods from a controller */ export declare function getBootstrapMethods(controller: any): Array<{ method: Function; priority: number; }>; /** * Add a ChatContext to a scheduled task */ export declare function addContextToSchedule(scheduleId: string, context: ChatContext): void; /** * Schedule a message to be sent at a specific time */ export declare function scheduleMessage(id: string, roomId: string, message: string, scheduledTime: number, metadata?: any): void; //# sourceMappingURL=batch.d.ts.map