StreamVideoBuilder

constructor(    context: Context,     apiKey: ApiKey,     geo: GEO = GEO.GlobalEdgeNetwork,     user: User = User.anonymous(),     token: UserToken = "",     legacyTokenProvider: suspend (error: Throwable?) -> String? = null,     tokenProvider: TokenProvider = legacyTokenProvider?.let { legacy -> object : TokenProvider { override suspend fun loadToken(): String = legacy.invoke(null) } } ?: ConstantTokenProvider(token),     loggingLevel: LoggingLevel = LoggingLevel(),     notificationConfig: NotificationConfig = NotificationConfig(),     ringNotification: (call: Call) -> Notification?? = null,     connectionTimeoutInMs: Long = 10000,     ensureSingleInstance: Boolean = true,     videoDomain: String = "video.stream-io-api.com",     runForegroundServiceForCalls: Boolean = true,     callServiceConfig: CallServiceConfig? = null,     callServiceConfigRegistry: CallServiceConfigRegistry? = null,     localSfuAddress: String? = null,     sounds: Sounds = defaultResourcesRingingConfig(context).toSounds(),     crashOnMissingPermission: Boolean = false,     permissionCheck: StreamPermissionCheck = DefaultStreamPermissionCheck(),     audioUsage: Int = defaultAudioUsage,     appName: String? = null,     audioProcessing: ManagedAudioProcessingFactory? = null,     leaveAfterDisconnectSeconds: Long = 30,     callUpdatesAfterLeave: Boolean = false)