using System.Collections.ObjectModel;
using System.Text.Json;
using System.Text.Json.Serialization;

namespace View_by_Distance.Shared.Models;

public record C_ResizeX(ReadOnlyDictionary<int, List<FilePath>> Amazon,
                       ReadOnlyDictionary<int, List<FilePath>> Content,
                       string OutputResolutionDirectory,
                       ReadOnlyDictionary<int, ReadOnlyDictionary<string, int[]>> OutputResolutionToResize,
                       ReadOnlyDictionary<int, List<FilePath>> Singleton)
{

    public override string ToString()
    {
        string result = JsonSerializer.Serialize(this, C_ResizeXSourceGenerationContext.Default.C_ResizeX);
        return result;
    }

    // If first
    // Set OutputResolutionDirectory
    // Create a directories for Amazon, Content and Singleton
    // Populate Amazon
    // Populate Content
    // Populate Singleton
    // Populate existing OutputResolutionToResize

}

[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(C_ResizeX))]
public partial class C_ResizeXSourceGenerationContext : JsonSerializerContext
{
}