#ifndef THIRD_PARTY_UPB_WASM_ABI_DYNAMIC_EXTENDED_MINITABLE_H_
#define THIRD_PARTY_UPB_WASM_ABI_DYNAMIC_EXTENDED_MINITABLE_H_

#include "upb/mini_table/extension_registry.h"
#include "upb/mini_table/message.h"

namespace upb::dynamic {

// A "complete" set of schema for a given Message type, including known
// Extensions.
// Contents may be null if requested type is unknown / undefined.
struct ExtendedMinitable {
  // The schema for the target Message type.
  const upb_MiniTable* message = nullptr;

  // An ExtensionRegistry containing known Extensions relevant to `message` and
  // its subs.
  // May include additional Extensions not directly relevant.
  const upb_ExtensionRegistry* extensions = nullptr;
};

}  // namespace upb::dynamic

#endif  // THIRD_PARTY_UPB_WASM_ABI_DYNAMIC_EXTENDED_MINITABLE_H_
