// WARNING: This file is machine generated by fidlgen.

#pragma once

#include <fidl/test/handles/llcpp/fidl.h>
namespace fidl_test_handles {
namespace testing {

class SomeProtocol_TestBase
    : public ::fidl::WireInterface<::fidl_test_handles::SomeProtocol> {
 public:
  virtual ~SomeProtocol_TestBase() {}
  virtual void NotImplemented_(const std::string& name,
                               ::fidl::CompleterBase& completer) = 0;

  using Interface = ::fidl::WireInterface<::fidl_test_handles::SomeProtocol>;
};
}  // namespace testing
}  // namespace fidl_test_handles
