// Protocol Buffers - Google's data interchange format
// Copyright 2025 Google LLC.  All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file or at
// https://developers.google.com/open-source/licenses/bsd

#ifndef GOOGLE_PROTOBUF_HPB_BACKEND_CPP_ERROR_H__
#define GOOGLE_PROTOBUF_HPB_BACKEND_CPP_ERROR_H__

namespace hpb {
namespace internal {
namespace backend {
namespace cpp {
class Error {};
}  // namespace cpp
}  // namespace backend
}  // namespace internal
}  // namespace hpb

#endif  // GOOGLE_PROTOBUF_HPB_BACKEND_CPP_ERROR_H__
