Clean up includes in quic_versions.h. Several classes were reliant on these includes so those have been updated as well.

PiperOrigin-RevId: 834317654
diff --git a/quiche/quic/core/crypto/aes_base_decrypter.cc b/quiche/quic/core/crypto/aes_base_decrypter.cc
index 1a05286..abeb631 100644
--- a/quiche/quic/core/crypto/aes_base_decrypter.cc
+++ b/quiche/quic/core/crypto/aes_base_decrypter.cc
@@ -4,10 +4,14 @@
 
 #include "quiche/quic/core/crypto/aes_base_decrypter.h"
 
+#include <cstdint>
 #include <string>
 
 #include "absl/strings/string_view.h"
 #include "openssl/aes.h"
+#include "quiche/quic/core/quic_constants.h"
+#include "quiche/quic/core/quic_data_reader.h"
+#include "quiche/quic/core/quic_types.h"
 #include "quiche/quic/platform/api/quic_bug_tracker.h"
 
 namespace quic {
diff --git a/quiche/quic/core/crypto/aes_base_encrypter.cc b/quiche/quic/core/crypto/aes_base_encrypter.cc
index f37fc2d..4ff6038 100644
--- a/quiche/quic/core/crypto/aes_base_encrypter.cc
+++ b/quiche/quic/core/crypto/aes_base_encrypter.cc
@@ -4,10 +4,13 @@
 
 #include "quiche/quic/core/crypto/aes_base_encrypter.h"
 
+#include <cstdint>
 #include <string>
 
 #include "absl/strings/string_view.h"
 #include "openssl/aes.h"
+#include "quiche/quic/core/quic_constants.h"
+#include "quiche/quic/core/quic_types.h"
 #include "quiche/quic/platform/api/quic_bug_tracker.h"
 
 namespace quic {
diff --git a/quiche/quic/core/crypto/chacha20_poly1305_decrypter.cc b/quiche/quic/core/crypto/chacha20_poly1305_decrypter.cc
index 9ec7f86..9903118 100644
--- a/quiche/quic/core/crypto/chacha20_poly1305_decrypter.cc
+++ b/quiche/quic/core/crypto/chacha20_poly1305_decrypter.cc
@@ -4,8 +4,14 @@
 
 #include "quiche/quic/core/crypto/chacha20_poly1305_decrypter.h"
 
+#include <cstddef>
+#include <cstdint>
+
 #include "openssl/aead.h"
 #include "openssl/tls1.h"
+#include "quiche/quic/core/crypto/chacha_base_decrypter.h"
+#include "quiche/quic/core/quic_constants.h"
+#include "quiche/quic/core/quic_types.h"
 
 namespace quic {
 
diff --git a/quiche/quic/core/crypto/chacha20_poly1305_tls_decrypter.cc b/quiche/quic/core/crypto/chacha20_poly1305_tls_decrypter.cc
index 623304d..0fcc2ea 100644
--- a/quiche/quic/core/crypto/chacha20_poly1305_tls_decrypter.cc
+++ b/quiche/quic/core/crypto/chacha20_poly1305_tls_decrypter.cc
@@ -4,10 +4,14 @@
 
 #include "quiche/quic/core/crypto/chacha20_poly1305_tls_decrypter.h"
 
+#include <cstddef>
+#include <cstdint>
+
 #include "openssl/aead.h"
 #include "openssl/tls1.h"
-#include "quiche/quic/platform/api/quic_flag_utils.h"
-#include "quiche/quic/platform/api/quic_flags.h"
+#include "quiche/quic/core/crypto/chacha_base_decrypter.h"
+#include "quiche/quic/core/quic_constants.h"
+#include "quiche/quic/core/quic_types.h"
 
 namespace quic {
 
diff --git a/quiche/quic/core/crypto/crypto_handshake.h b/quiche/quic/core/crypto/crypto_handshake.h
index 89eb6fb..c23de94 100644
--- a/quiche/quic/core/crypto/crypto_handshake.h
+++ b/quiche/quic/core/crypto/crypto_handshake.h
@@ -5,12 +5,14 @@
 #ifndef QUICHE_QUIC_CORE_CRYPTO_CRYPTO_HANDSHAKE_H_
 #define QUICHE_QUIC_CORE_CRYPTO_CRYPTO_HANDSHAKE_H_
 
+#include <cstdint>
 #include <memory>
 #include <string>
 #include <vector>
 
-#include "quiche/quic/core/quic_packets.h"
-#include "quiche/quic/platform/api/quic_export.h"
+#include "quiche/quic/core/quic_tag.h"
+#include "quiche/common/platform/api/quiche_export.h"
+#include "quiche/common/platform/api/quiche_reference_counted.h"
 
 namespace quic {
 
diff --git a/quiche/quic/core/crypto/crypto_handshake_message.h b/quiche/quic/core/crypto/crypto_handshake_message.h
index cc51ce3..878141f 100644
--- a/quiche/quic/core/crypto/crypto_handshake_message.h
+++ b/quiche/quic/core/crypto/crypto_handshake_message.h
@@ -12,9 +12,12 @@
 #include <vector>
 
 #include "absl/strings/string_view.h"
+#include "quiche/quic/core/quic_error_codes.h"
 #include "quiche/quic/core/quic_packets.h"
+#include "quiche/quic/core/quic_tag.h"
 #include "quiche/quic/core/quic_types.h"
-#include "quiche/quic/platform/api/quic_export.h"
+#include "quiche/quic/core/quic_versions.h"
+#include "quiche/common/platform/api/quiche_export.h"
 
 namespace quic {
 
diff --git a/quiche/quic/core/crypto/quic_decrypter.h b/quiche/quic/core/crypto/quic_decrypter.h
index 9f32dd0..df90b16 100644
--- a/quiche/quic/core/crypto/quic_decrypter.h
+++ b/quiche/quic/core/crypto/quic_decrypter.h
@@ -13,8 +13,10 @@
 #include "absl/strings/string_view.h"
 #include "quiche/quic/core/crypto/quic_crypter.h"
 #include "quiche/quic/core/quic_data_reader.h"
-#include "quiche/quic/core/quic_packets.h"
-#include "quiche/quic/platform/api/quic_export.h"
+#include "quiche/quic/core/quic_tag.h"
+#include "quiche/quic/core/quic_types.h"
+#include "quiche/quic/core/quic_versions.h"
+#include "quiche/common/platform/api/quiche_export.h"
 
 namespace quic {
 
diff --git a/quiche/quic/core/crypto/quic_encrypter.h b/quiche/quic/core/crypto/quic_encrypter.h
index d22d166..c798fa1 100644
--- a/quiche/quic/core/crypto/quic_encrypter.h
+++ b/quiche/quic/core/crypto/quic_encrypter.h
@@ -6,12 +6,16 @@
 #define QUICHE_QUIC_CORE_CRYPTO_QUIC_ENCRYPTER_H_
 
 #include <cstddef>
+#include <cstdint>
 #include <memory>
+#include <string>
 
 #include "absl/strings/string_view.h"
 #include "quiche/quic/core/crypto/quic_crypter.h"
-#include "quiche/quic/core/quic_packets.h"
-#include "quiche/quic/platform/api/quic_export.h"
+#include "quiche/quic/core/quic_tag.h"
+#include "quiche/quic/core/quic_types.h"
+#include "quiche/quic/core/quic_versions.h"
+#include "quiche/common/platform/api/quiche_export.h"
 
 namespace quic {
 
diff --git a/quiche/quic/core/quic_versions.h b/quiche/quic/core/quic_versions.h
index 6df1d44..d4b35c6 100644
--- a/quiche/quic/core/quic_versions.h
+++ b/quiche/quic/core/quic_versions.h
@@ -23,15 +23,18 @@
 #ifndef QUICHE_QUIC_CORE_QUIC_VERSIONS_H_
 #define QUICHE_QUIC_CORE_QUIC_VERSIONS_H_
 
+#include <array>
+#include <cstddef>
 #include <cstdint>
+#include <limits>
+#include <ostream>
 #include <string>
 #include <vector>
 
 #include "absl/base/macros.h"
 #include "absl/strings/string_view.h"
-#include "quiche/quic/core/quic_tag.h"
-#include "quiche/quic/core/quic_types.h"
-#include "quiche/quic/platform/api/quic_export.h"
+#include "quiche/common/platform/api/quiche_export.h"
+#include "quiche/common/platform/api/quiche_logging.h"
 
 namespace quic {