Yes, empty *getOptions()* will return all options.
Also i suggest removing *$options* arg from *Type::updateDocument()* signature, because all options can be set through document, and this *$options* will be passed to *Client::updateDocument* method