namespace JSMR.Worker.Options; public sealed class ScanOptions { public string? Locale { get; init; } = "Japanese"; // maps to your Locale enum public int? StartPage { get; init; } // if null, resume from checkpoint or 1 public int? EndPage { get; init; } // optional cap public int? PageSize { get; init; } // override default public bool Watch { get; init; } // loop forever public TimeSpan Interval { get; init; } = TimeSpan.FromMinutes(5); }