import { Duration } from 'ts-duration';
import { WakaQueue } from './queue.js';
import { WakaQ } from './wakaq.js';
export declare class Task {
    name: string;
    fn: (...args: unknown[]) => Promise<void>;
    wakaq: WakaQ;
    queue?: WakaQueue;
    softTimeout?: Duration;
    hardTimeout?: Duration;
    maxRetries: number;
    constructor(wakaq: WakaQ, fn: (...args: unknown[]) => Promise<void>, name?: string, queue?: WakaQueue | string, softTimeout?: Duration, hardTimeout?: Duration, maxRetries?: number);
    enqueue(...args: any[]): Promise<void>;
    enqueueAfterDelay(eta: Duration | Date | number, ...args: any[]): Promise<void>;
    broadcast(...args: any[]): Promise<number>;
}
