/*!

@mainpage Dialogflow CX API C++ Client Library

An idiomatic C++ client library for the [Dialogflow CX API][cloud-service-docs], a service
to build conversational interfaces (for example, chatbots, and voice-powered apps and devices).
There are [two editions] of Dialogflow, this library supports the CX edition.

[two editions]: https://cloud.google.com/dialogflow/docs/editions

While this library is **GA**, please note Google Cloud C++ client libraries do **not** follow [Semantic Versioning](https://semver.org/).

@tableofcontents{HTML:2}

## Quickstart

The following shows the code that you'll run in the
`google/cloud/dialogflow_cx/quickstart/` directory,
which should give you a taste of the Dialogflow API C++ client library API.

@snippet quickstart.cc all

## Main classes

<!-- inject-client-list-start -->
This library offers multiple `*Client` classes, which are listed below. Each one
of these classes exposes all the RPCs for a service as member functions of the
class. This library groups multiple services because they are part of the same
product or are often used together. A typical example may be the administrative
and data plane operations for a single product.

The library also has other classes that provide helpers, configuration
parameters, and infrastructure to mock the `*Client` classes when testing your
application.

- [\c dialogflow_cx::AgentsClient](@ref google::cloud::dialogflow_cx::AgentsClient)
- [\c dialogflow_cx::ChangelogsClient](@ref google::cloud::dialogflow_cx::ChangelogsClient)
- [\c dialogflow_cx::DeploymentsClient](@ref google::cloud::dialogflow_cx::DeploymentsClient)
- [\c dialogflow_cx::EntityTypesClient](@ref google::cloud::dialogflow_cx::EntityTypesClient)
- [\c dialogflow_cx::EnvironmentsClient](@ref google::cloud::dialogflow_cx::EnvironmentsClient)
- [\c dialogflow_cx::ExperimentsClient](@ref google::cloud::dialogflow_cx::ExperimentsClient)
- [\c dialogflow_cx::FlowsClient](@ref google::cloud::dialogflow_cx::FlowsClient)
- [\c dialogflow_cx::IntentsClient](@ref google::cloud::dialogflow_cx::IntentsClient)
- [\c dialogflow_cx::PagesClient](@ref google::cloud::dialogflow_cx::PagesClient)
- [\c dialogflow_cx::SecuritySettingsServiceClient](@ref google::cloud::dialogflow_cx::SecuritySettingsServiceClient)
- [\c dialogflow_cx::SessionEntityTypesClient](@ref google::cloud::dialogflow_cx::SessionEntityTypesClient)
- [\c dialogflow_cx::SessionsClient](@ref google::cloud::dialogflow_cx::SessionsClient)
- [\c dialogflow_cx::TestCasesClient](@ref google::cloud::dialogflow_cx::TestCasesClient)
- [\c dialogflow_cx::TransitionRouteGroupsClient](@ref google::cloud::dialogflow_cx::TransitionRouteGroupsClient)
- [\c dialogflow_cx::VersionsClient](@ref google::cloud::dialogflow_cx::VersionsClient)
- [\c dialogflow_cx::WebhooksClient](@ref google::cloud::dialogflow_cx::WebhooksClient)
<!-- inject-client-list-end -->

## More Information

- @ref common-error-handling - describes how the library reports errors.
- @ref dialogflow_cx-override-endpoint - describes how to override the default
  endpoint.
- @ref dialogflow_cx-override-authentication - describes how to change the
  authentication credentials used by the library.
- @ref dialogflow_cx-override-retry - describes how to change the default retry
  policies.
- @ref dialogflow_cx-env - describes environment variables that can configure the behavior of the library.

[cloud-service-docs]: https://cloud.google.com/dialogflow/cx/docs

*/
