import { WorkOptions } from "pg-boss"; import { LoggerService } from "@adonisjs/core/types"; //#region src/dispatchable.d.ts declare abstract class Dispatchable { protected _logger?: LoggerService; /** * Inject internal dependencies (called by the job manager) */ $injectInternal(internals: { logger: LoggerService; [key: string]: unknown; }): void; get logger(): LoggerService; /** * Optional: Override the auto-generated job name * Default: kebab-case conversion of class name (CreateDatabaseJob → 'create-database') */ static jobName?: string; /** * Optional: Specify which queue this job should run in * Default: 'default' * Must match one of the queues defined in config/jobs.ts */ static queue?: string; /** * Optional: All pg-boss work options * See: https://github.com/timgit/pg-boss/blob/master/docs/readme.md#work */ static workOptions?: WorkOptions; /** * Handle the job payload * This method must be implemented by job classes */ abstract handle(payload: unknown): Promise; } //#endregion export { Dispatchable };