start

abstract suspend fun start(filter: String? = null, setPresence: Presence? = null, currentBatchToken: MutableStateFlow<String?> = MutableStateFlow(null), timeout: Long = 30000, withTransaction: suspend (block: suspend () -> Unit) -> Unit = { it() }, asUserId: UserId? = null, wait: Boolean = false, scope: CoroutineScope)