Waiting for a workflow state in interactive applications

In an interactive application use-case, a customer may transition from one screen to another based on the state of the workflow (e.g. various activities may require completion in background before we can progress).

Is there currently anything in the client SDK to “await” for a specific state? I know there is Await, and AwaitWithTimeout, but I believe they are for use within a workflow itself, not from a client.

The way I currently see this being do-able is by polling QueryWorkflow until some criteria is met.

how about query to expose the state , and client can take decision based on the query result

e.g

Workflow{
@QueryMethod
String getState()
{
return currentState;
}
}

See this discussion.