namespace BlueLaminate.Scraper.Proxies;
///
/// Source of proxy endpoints. The whole point of this seam is that the rest of
/// the scraper depends only on this interface and , so a
/// different residential provider — or the future C2 that allocates IPs to
/// containers, or a composite "grab-bag" over several providers — drops in
/// without changing any browser or scraping code.
///
public interface IProxyProvider
{
/// Identifier recorded on issued leases, e.g. "iproyal".
string Name { get; }
///
/// Produce a usable endpoint for the given request. For gateway providers
/// this is pure string composition (no network call); the C2 implementation
/// can override that later with real allocation.
///
ProxyLease Acquire(ProxyRequest request);
}