import { DateTime } from 'luxon'; import { BaseJob } from './base_job.js'; type DispatcherResult = { id: number | string; }; export declare class Dispatcher implements Promise { #private; then(onfulfilled?: ((value: DispatcherResult) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): Promise; finally(onfinally?: (() => void) | undefined | null): Promise; /** * Required when Promises are extended */ get [Symbol.toStringTag](): string; constructor(job: T, data: ConstructorParameters); /** * Execute promise, storing job to storage using defined driver */ exec(): Promise<{ id: number | string; }>; /** * Delay job execution until given time * * @param time Time after what job will be available for execution */ delay(time: DateTime): this; } export {};