import type { Logger } from '@adonisjs/core/logger'; import type { QueueManagerFactory, QueueDriver, StoreOptions } from './types.js'; /** * Config for manager looks like this * * { * default: 'somename', * queues: { * somename: () => new DatabaseDrive({ * table_name: 'sjdasjk', * }) * } * } */ export declare class QueueManager> { #private; protected config: { default: keyof Mappings; queues: Mappings; }; protected logger: Logger; protected jobsRoot: string; constructor(config: { default: keyof Mappings; queues: Mappings; }, logger: Logger, jobsRoot: string); use(queue?: K): QueueDriver; /** * Starts up given queue jobs execution * * @param queue Queue name to start */ start(queue: K): Promise; /** * Executes next job in queue */ execute(): Promise; /** * Stores job to queue for future execution * * @param path Path to class file * @param payload Job payload * @param options Store options */ store(path: string, payload: any, options?: StoreOptions): Promise<{ id: number | string; }>; }