expect type for TestEventSink. This layer of indirection is necessary because Kotlin/JS does not allow extension of function types. To work around it, we make this interface extend
(UiEvent) -> Unit on all platforms except JS, and then expose an
asEventSinkFunction() extension function on TestEventSink in JS that returns a function wrapper around it.
A helper function for creating a function wrapper around this TestEventSink for use in tests as an event sink function. We have to do this workaround in JS due to Kotlin/JS not allowing function type extension directly.