using RudderSdk.Core.Abstractions; namespace RudderSdk.Core; /// /// Configuration for . Only and /// are required; everything else falls back to a /// sensible default. /// public sealed class RudderClientOptions { /// API base URL, e.g. https://api.example.com. Required. public string? BaseUrl { get; set; } /// Project key issued in the admin panel. Required. public string? ProjectKey { get; set; } /// HTTP transport. Defaults to . public IRudderTransport? Transport { get; set; } /// Session token storage. Defaults to . public ITokenStore? TokenStore { get; set; } /// Device identity for login. Defaults to . public IDeviceIdProvider? DeviceIdProvider { get; set; } /// Diagnostic sink. Null by default (silent). public IRudderLogger? Logger { get; set; } /// Time source for the effects client; override in tests. public IClock? Clock { get; set; } }