diff --git a/build/source_list.bzl b/build/source_list.bzl
index afc80c7..4d627c1 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -968,7 +968,9 @@
     "quic/masque/masque_utils.h",
     "quic/platform/api/quic_udp_socket_platform_api.h",
     "quic/tools/quic_client_default_network_helper.h",
+    "quic/tools/quic_client_factory.h",
     "quic/tools/quic_default_client.h",
+    "quic/tools/quic_epoll_client_factory.h",
     "quic/tools/quic_server.h",
 ]
 io_tool_support_srcs = [
@@ -993,6 +995,7 @@
     "quic/masque/masque_utils.cc",
     "quic/tools/quic_client_default_network_helper.cc",
     "quic/tools/quic_default_client.cc",
+    "quic/tools/quic_epoll_client_factory.cc",
     "quic/tools/quic_server.cc",
 ]
 io_test_support_hdrs = [
@@ -1310,7 +1313,6 @@
     "quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc",
 ]
 cli_tools_hdrs = [
-    "quic/tools/quic_epoll_client_factory.h",
     "quic/tools/quic_server_factory.h",
     "quic/tools/quic_toy_client.h",
     "quic/tools/quic_toy_server.h",
@@ -1322,7 +1324,6 @@
     "quic/tools/qpack_offline_decoder_bin.cc",
     "quic/tools/quic_client_bin.cc",
     "quic/tools/quic_client_interop_test_bin.cc",
-    "quic/tools/quic_epoll_client_factory.cc",
     "quic/tools/quic_packet_printer_bin.cc",
     "quic/tools/quic_reject_reason_decoder_bin.cc",
     "quic/tools/quic_server_bin.cc",
diff --git a/build/source_list.gni b/build/source_list.gni
index 53814a2..82132ae 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -968,7 +968,9 @@
     "src/quiche/quic/masque/masque_utils.h",
     "src/quiche/quic/platform/api/quic_udp_socket_platform_api.h",
     "src/quiche/quic/tools/quic_client_default_network_helper.h",
+    "src/quiche/quic/tools/quic_client_factory.h",
     "src/quiche/quic/tools/quic_default_client.h",
+    "src/quiche/quic/tools/quic_epoll_client_factory.h",
     "src/quiche/quic/tools/quic_server.h",
 ]
 io_tool_support_srcs = [
@@ -993,6 +995,7 @@
     "src/quiche/quic/masque/masque_utils.cc",
     "src/quiche/quic/tools/quic_client_default_network_helper.cc",
     "src/quiche/quic/tools/quic_default_client.cc",
+    "src/quiche/quic/tools/quic_epoll_client_factory.cc",
     "src/quiche/quic/tools/quic_server.cc",
 ]
 io_test_support_hdrs = [
@@ -1310,7 +1313,6 @@
     "src/quiche/quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc",
 ]
 cli_tools_hdrs = [
-    "src/quiche/quic/tools/quic_epoll_client_factory.h",
     "src/quiche/quic/tools/quic_server_factory.h",
     "src/quiche/quic/tools/quic_toy_client.h",
     "src/quiche/quic/tools/quic_toy_server.h",
@@ -1322,7 +1324,6 @@
     "src/quiche/quic/tools/qpack_offline_decoder_bin.cc",
     "src/quiche/quic/tools/quic_client_bin.cc",
     "src/quiche/quic/tools/quic_client_interop_test_bin.cc",
-    "src/quiche/quic/tools/quic_epoll_client_factory.cc",
     "src/quiche/quic/tools/quic_packet_printer_bin.cc",
     "src/quiche/quic/tools/quic_reject_reason_decoder_bin.cc",
     "src/quiche/quic/tools/quic_server_bin.cc",
diff --git a/build/source_list.json b/build/source_list.json
index a877e81..3ded441 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -967,7 +967,9 @@
     "quiche/quic/masque/masque_utils.h",
     "quiche/quic/platform/api/quic_udp_socket_platform_api.h",
     "quiche/quic/tools/quic_client_default_network_helper.h",
+    "quiche/quic/tools/quic_client_factory.h",
     "quiche/quic/tools/quic_default_client.h",
+    "quiche/quic/tools/quic_epoll_client_factory.h",
     "quiche/quic/tools/quic_server.h"
   ],
   "io_tool_support_srcs": [
@@ -992,6 +994,7 @@
     "quiche/quic/masque/masque_utils.cc",
     "quiche/quic/tools/quic_client_default_network_helper.cc",
     "quiche/quic/tools/quic_default_client.cc",
+    "quiche/quic/tools/quic_epoll_client_factory.cc",
     "quiche/quic/tools/quic_server.cc"
   ],
   "io_test_support_hdrs": [
@@ -1309,7 +1312,6 @@
     "quiche/quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc"
   ],
   "cli_tools_hdrs": [
-    "quiche/quic/tools/quic_epoll_client_factory.h",
     "quiche/quic/tools/quic_server_factory.h",
     "quiche/quic/tools/quic_toy_client.h",
     "quiche/quic/tools/quic_toy_server.h"
@@ -1321,7 +1323,6 @@
     "quiche/quic/tools/qpack_offline_decoder_bin.cc",
     "quiche/quic/tools/quic_client_bin.cc",
     "quiche/quic/tools/quic_client_interop_test_bin.cc",
-    "quiche/quic/tools/quic_epoll_client_factory.cc",
     "quiche/quic/tools/quic_packet_printer_bin.cc",
     "quiche/quic/tools/quic_reject_reason_decoder_bin.cc",
     "quiche/quic/tools/quic_server_bin.cc",
diff --git a/quiche/quic/tools/quic_client_factory.h b/quiche/quic/tools/quic_client_factory.h
new file mode 100644
index 0000000..df4aab9
--- /dev/null
+++ b/quiche/quic/tools/quic_client_factory.h
@@ -0,0 +1,35 @@
+// Copyright (c) 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef QUICHE_QUIC_TOOLS_QUIC_CLIENT_FACTORY_H_
+#define QUICHE_QUIC_TOOLS_QUIC_CLIENT_FACTORY_H_
+
+#include "quiche/quic/core/crypto/proof_verifier.h"
+#include "quiche/quic/core/crypto/quic_crypto_client_config.h"
+#include "quiche/quic/core/quic_config.h"
+#include "quiche/quic/core/quic_versions.h"
+#include "quiche/quic/tools/quic_spdy_client_base.h"
+
+namespace quic {
+
+// Interface implemented by Factories to create QuicClients.
+class ClientFactoryInterface {
+ public:
+  virtual ~ClientFactoryInterface() = default;
+
+  // Creates a new client configured to connect to |host_for_lookup:port|
+  // supporting |versions|, using |host_for_handshake| for handshake and
+  // |verifier| to verify proofs.
+  virtual std::unique_ptr<QuicSpdyClientBase> CreateClient(
+      std::string host_for_handshake, std::string host_for_lookup,
+      // AF_INET, AF_INET6, or AF_UNSPEC(=don't care).
+      int address_family_for_lookup, uint16_t port,
+      ParsedQuicVersionVector versions, const QuicConfig& config,
+      std::unique_ptr<ProofVerifier> verifier,
+      std::unique_ptr<SessionCache> session_cache) = 0;
+};
+
+}  // namespace quic
+
+#endif  // QUICHE_QUIC_TOOLS_QUIC_CLIENT_FACTORY_H_
diff --git a/quiche/quic/tools/quic_epoll_client_factory.h b/quiche/quic/tools/quic_epoll_client_factory.h
index 962a714..ab5e882 100644
--- a/quiche/quic/tools/quic_epoll_client_factory.h
+++ b/quiche/quic/tools/quic_epoll_client_factory.h
@@ -8,12 +8,12 @@
 #include <memory>
 
 #include "quiche/quic/core/io/quic_event_loop.h"
-#include "quiche/quic/tools/quic_toy_client.h"
+#include "quiche/quic/tools/quic_client_factory.h"
 
 namespace quic {
 
 // Factory creating QuicClient instances.
-class QuicEpollClientFactory : public QuicToyClient::ClientFactory {
+class QuicEpollClientFactory : public ClientFactoryInterface {
  public:
   QuicEpollClientFactory();
 
diff --git a/quiche/quic/tools/quic_toy_client.h b/quiche/quic/tools/quic_toy_client.h
index 7639482..50e42c4 100644
--- a/quiche/quic/tools/quic_toy_client.h
+++ b/quiche/quic/tools/quic_toy_client.h
@@ -8,39 +8,26 @@
 #ifndef QUICHE_QUIC_TOOLS_QUIC_TOY_CLIENT_H_
 #define QUICHE_QUIC_TOOLS_QUIC_TOY_CLIENT_H_
 
-#include "quiche/quic/tools/quic_spdy_client_base.h"
+#include "quiche/quic/tools/quic_client_factory.h"
 
 namespace quic {
 
 class QuicToyClient {
  public:
-  class ClientFactory {
-   public:
-    virtual ~ClientFactory() = default;
-
-    // Creates a new client configured to connect to |host_for_lookup:port|
-    // supporting |versions|, using |host_for_handshake| for handshake and
-    // |verifier| to verify proofs.
-    virtual std::unique_ptr<QuicSpdyClientBase> CreateClient(
-        std::string host_for_handshake, std::string host_for_lookup,
-        // AF_INET, AF_INET6, or AF_UNSPEC(=don't care).
-        int address_family_for_lookup, uint16_t port,
-        ParsedQuicVersionVector versions, const QuicConfig& config,
-        std::unique_ptr<ProofVerifier> verifier,
-        std::unique_ptr<SessionCache> session_cache) = 0;
-  };
-
   // Constructs a new toy client that will use |client_factory| to create the
   // actual QuicSpdyClientBase instance.
-  QuicToyClient(ClientFactory* client_factory);
+  QuicToyClient(ClientFactoryInterface* client_factory);
 
   // Connects to the QUIC server based on the various flags defined in the
   // .cc file, sends requests and prints the responses. Returns 0 on success
   // and non-zero otherwise.
   int SendRequestsAndPrintResponses(std::vector<std::string> urls);
 
+  // Compatibility alias
+  using ClientFactory = ClientFactoryInterface;
+
  private:
-  ClientFactory* client_factory_;  // Unowned.
+  ClientFactoryInterface* client_factory_;  // Unowned.
 };
 
 }  // namespace quic
