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

#pragma once

#include <fidl/test/bindingsdenylist/llcpp/fidl.h>

// For ::fidl::fuzzing::DecoderEncoderImpl.
#include <lib/fidl/cpp/fuzzing/decoder_encoder.h>

namespace fuzzing {

inline constexpr ::std::array<::fidl::fuzzing::DecoderEncoder, 2>
    fidl_test_bindingsdenylist_decoder_encoders = {

        ::fidl::fuzzing::DecoderEncoderImpl<::fidl::WireRequest<
            ::fidl_test_bindingsdenylist::OnlyLibfuzzerAndDeps::
                LibfuzzerNeedsNonemptyProtocol>>,
        ::fidl::fuzzing::DecoderEncoderImpl<::fidl::WireResponse<
            ::fidl_test_bindingsdenylist::OnlyLibfuzzerAndDeps::
                LibfuzzerNeedsNonemptyProtocol>>,
};

}  // namespace fuzzing
