using Beam.Abstractions; using Beam.Downloaders; using Beam.Models; using Beam.Playwright; using Beam.Stealth; namespace Beam.Fluent { public static partial class DownloadBuilder { public interface IContextStage { IContextStage Configure(Action> configure); IContextStage WithParallelism(int degree); IContextStage WithTimeout(TimeSpan timeout); IContextStage WithRetryReporter(IProgress reporter); DownloadEnumerable Build(); IContextStage UseFragments(); IContextStage UsePlaywright(PlaywrightAsyncManipulator manipulator); IContextStage UseStealth(StealthAsyncManipulator manipulator, StealthConfig config); } } }