import { ICallback, ILogger, Runnable } from 'redis-smq-common';
import { IWorkerPayload } from './types/worker.js';
export declare abstract class WorkerAbstract extends Runnable<Record<string, never>> {
    private timer;
    protected initialized: boolean;
    protected config: import("../../../index.js").IRedisSMQParsedConfig;
    protected redisConfig: import("redis-smq-common").IRedisConfig;
    protected abstract readonly logger: ILogger;
    constructor(payload: IWorkerPayload);
    protected finalizeUp(): void;
    protected goingUp(): ((cb: ICallback<void>) => void)[];
    protected goingDown(): ((cb: ICallback<void>) => void)[];
    protected onTick: () => void;
    protected handleError: (err: Error) => void;
    abstract work(cb: ICallback<void>): void;
}
//# sourceMappingURL=worker-abstract.d.ts.map