import { SagaResponse } from "./types/saga-response";
import { ServicesList } from "./types/services.type";
import { Workflow } from "./types/workflow.type";
export declare class SagaProcessor<T> {
    private steps;
    private history;
    private services;
    private ctx;
    private currentStep;
    private toCompensate;
    private errors;
    private currentExecution;
    private errorFormatter;
    constructor(services?: ServicesList);
    add(workflow: Workflow): SagaProcessor<T>;
    handleExceptions(formatter: any): void;
    start(): Promise<SagaResponse<T>>;
    private runStep;
    private runInvoke;
    validate(dto: any): Promise<void>;
    checkCondition(condition: any): any;
    private makeStepForward;
    private compensate;
    private formatResponse;
    startLog(name: any): void;
    endLog(state: any): void;
    debug(...params: any[]): void;
}
