using System.Text.Json;
using System.Threading.Tasks;
namespace AggregateConfigBuildTask.FileHandlers
{
///
/// Provides methods for handling input and output operations for various file formats,
/// using as an intermediate format.
///
public interface IFileHandler
{
///
/// Reads the input file from the specified path and converts it to a for further processing.
///
/// The path to the input file to be read.
/// The read file converted to a object.
ValueTask ReadInput(string inputPath);
///
/// Writes the processed data to the specified output file path.
///
/// The intermediate data in format. Can be null.
/// The path to the output file where the data will be written.
void WriteOutput(JsonElement? mergedData, string outputPath);
}
}