import type { Config } from '../../config/index.js'; import type { Logger } from '../../logger/index.js'; import type { AtLeastOneRequired } from '../../utilities/index.js'; export type VerleEventType = `REQUEST` | `QUEUE` | `SCHEDULE`; export interface VerleEvent { name: string; type: VerleEventType; correlationId: string; payload: Payload; raw: unknown; } export interface VerleOutput { payload: Payload; } export interface VerleTools { log: Logger; config: Config; } export type VerleHandler = (event: VerleEvent, tools: VerleTools) => VerleOutput | Promise>; export interface VerleTaskTriggerByRequest { path: string; } export type QueueType = `UNORDERED` | `ORDERED`; export interface VerleTaskTriggerByQueue { type: QueueType; batchSize?: number; } export interface VerleTaskTriggerBySchedule { cron: string; } export type VerleTaskTriggers = AtLeastOneRequired<{ request?: VerleTaskTriggerByRequest; queue?: VerleTaskTriggerByQueue; schedule?: VerleTaskTriggerBySchedule; }>; export interface VerleTask { key: string; timeout?: number; memory?: 128 | 256 | 512 | 1024 | 2048; logRetention?: number; triggers: VerleTaskTriggers; timezone?: string; main: VerleHandler; } //# sourceMappingURL=types.d.ts.map