// mojo/public/cpp/bindings/tests/generated.test-mojom-params-data.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef MOJO_PUBLIC_CPP_BINDINGS_TESTS_GENERATED_TEST_MOJOM_PARAMS_DATA_H_
#define MOJO_PUBLIC_CPP_BINDINGS_TESTS_GENERATED_TEST_MOJOM_PARAMS_DATA_H_

#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/buffer.h"

#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif

namespace mojo::internal {
class ValidationContext;
}


namespace mojo::test::generated_test_mojom {
namespace internal {

}  // namespace internal


}  // mojo::test::generated_test_mojom

#if defined(__clang__)
#pragma clang diagnostic pop
#endif

#endif  // MOJO_PUBLIC_CPP_BINDINGS_TESTS_GENERATED_TEST_MOJOM_PARAMS_DATA_H_