using Beam.Abstractions;
using Beam.Data;
using Beam.Downloaders;
using Beam.Dynamic;
using Beam.Models;

namespace Beam.Fluent;

internal sealed class TransformStage<OutType>(DownloadContextBuilder CtxBuilder) : ITransformStage<OutType> {
    public IContextStage<OutType> WithTransformer(AsyncTransformer<ByteDocument, OutType> transformer) {
        return new ContextStage<OutType>(CtxBuilder, transformer);
    }
}