#pragma once

#include <saas/library/yt/common/shard.h>

#include <mapreduce/yt/interface/common.h>

#include <util/folder/path.h>
#include <util/generic/maybe.h>

class TYTFileFetcher {
public:
    TYTFileFetcher(const TString& ytProxy, const TString& ytToken, const TString& ytHosts = TString());
    ~TYTFileFetcher();

    void Fetch(NYT::TRichYPath ytPath, TFsPath outputRoot, ui32 writeBytesPerSec = 0);

private:
    NYT::IClientPtr ClientPtr;
};
