import { ICallback, ILogger, Runnable } from 'redis-smq-common';
import { RedisClient } from '../../../common/redis-client/redis-client.js';
import { IConsumerMessageHandlerWorkerPayload } from '../types/index.js';
export declare abstract class Worker extends Runnable<Record<string, never>> {
    protected redisClient: RedisClient;
    protected logger: ILogger;
    private timer;
    protected config: import("../../../config/index.js").IRedisSMQConfigRequired;
    protected queueParsedParams: import("../../index.js").IQueueParsedParams;
    constructor({ config, queueParsedParams, }: IConsumerMessageHandlerWorkerPayload);
    protected getLogger(): ILogger;
    abstract work(cb: ICallback<void>): void;
    protected goingUp(): ((cb: ICallback<void>) => void)[];
    protected goingDown(): ((cb: ICallback<void>) => void)[];
    protected onTick: () => void;
    protected handleError: (err: Error) => void;
}
//# sourceMappingURL=worker.d.ts.map