Both of the async/sync versions of the ParameterClient do not have API for calling the describe_parameters service, but it seems like it would be a useful addition. The ParameterClient does have an rclcpp::Client for the describe_parameters service so this should be straightforward to implement.