#pragma once

#include <robot/jupiter/library/rtdoc/protos/lumps.pb.h>
#include <robot/jupiter/library/rtdoc/interface/fwd.h>

#include <util/generic/ptr.h>

namespace NFusion {

    class TShardsPrepareLumpsFiller {
    public:
        TShardsPrepareLumpsFiller(const TVector<NJupiter::TMercuryCmdPtr>& commands, bool heavyDataLumpsEnabled = false);
        ~TShardsPrepareLumpsFiller();

        void Fill(const NJupiter::TMercuryLumps& inputData, NJupiter::TMercuryLumps& outputData);

    private:
        class TImpl;
        THolder<TImpl> Impl;
    };

}
