import { ZeebeGrpcClient } from '../zb/ZeebeGrpcClient';
import { StatefulLogInterceptor } from './StatefulLogInterceptor';
import { IZBJobWorker, Job, JobCompletionInterface, ZBGrpc, ZBWorkerTaskHandler } from './interfaces-1.0';
import { StreamActivatedJobsRequest } from './interfaces-grpc-1.0';
export declare class ZBStreamWorker implements IZBJobWorker {
    private grpcClient;
    private logger;
    private zbClient;
    private streams;
    constructor({ grpcClient, log, zbClient, }: {
        grpcClient: ZBGrpc;
        log: StatefulLogInterceptor;
        zbClient: ZeebeGrpcClient;
    });
    streamJobs<WorkerInputVariables, CustomHeaderShape, WorkerOutputVariables>(req: StreamActivatedJobsRequest & {
        inputVariableDto: {
            new (...args: any[]): Readonly<WorkerInputVariables>;
        };
        customHeadersDto: {
            new (...args: any[]): Readonly<CustomHeaderShape>;
        };
        taskHandler: ZBWorkerTaskHandler<WorkerInputVariables, CustomHeaderShape, WorkerOutputVariables>;
    }): Promise<{
        close: () => void;
    }>;
    close(): Promise<void>;
    log(msg: JSON): void;
    debug(msg: JSON): void;
    error(msg: JSON): void;
    protected makeCompleteHandlers<T>(thisJob: Job, taskType: string): JobCompletionInterface<T> & JobCompletionInterface<T>;
    private failJob;
    private completeJob;
    private errorJob;
}
