import { ITask, KafkaConfiguration, RedisConfiguration, SQSConfiguration, DummyConfiguration, Callback, IProducer, IRegistry, MessageRoutingOptions, Configuration, PayloadT } from '../common'; import { TaskOptions } from '../types/task-options'; declare class Task, R = any, E extends Configuration['engine'] = any> implements ITask { config: KafkaConfiguration | RedisConfiguration | SQSConfiguration | DummyConfiguration; registry: IRegistry; subscribe: Callback; producer: IProducer; name: string; topic: string; options: TaskOptions; constructor(config: KafkaConfiguration | RedisConfiguration | SQSConfiguration | DummyConfiguration, registry: IRegistry, producer: IProducer, name: string, topic: string, subscribe: Callback, options?: TaskOptions); publish(payload: T | T[], options?: MessageRoutingOptions[E]): Promise; } export default Task;