Options
constructor(key: String = generateClientKey(), apiKey: String? = null, metadata: Map<String, String> = emptyMap(), fetchAuthToken: suspend (shouldRefresh: Boolean) -> String? = null, syncLoopDuration: Duration = 50.milliseconds, reconnectStreamDelay: Duration = 1_000.milliseconds, channelHeartbeatInterval: Duration = 5_000.milliseconds, documentPollInterval: Duration = 3_000.milliseconds, watchFallbackDelay: Duration = 10_000.milliseconds, docStore: DocStore? = null, sessionLock: SessionLock = NoopSessionLock, watchHeartbeatInterval: Duration = 20_000.milliseconds)