System.register(["__unresolved_0", "cc"], function (_export, _context) {
  "use strict";

  var _reporterNs, _cclegacy, AHttpClient, AWsClient, _crd;

  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

  function _reportPossibleCrUseOfBaseHttpClient(extras) {
    _reporterNs.report("BaseHttpClient", "tsrpc-base-client", _context.meta, extras);
  }

  function _reportPossibleCrUseOfBaseHttpClientOptions(extras) {
    _reporterNs.report("BaseHttpClientOptions", "tsrpc-base-client", _context.meta, extras);
  }

  function _reportPossibleCrUseOfBaseWsClient(extras) {
    _reporterNs.report("BaseWsClient", "tsrpc-base-client", _context.meta, extras);
  }

  function _reportPossibleCrUseOfBaseWsClientOptions(extras) {
    _reporterNs.report("BaseWsClientOptions", "tsrpc-base-client", _context.meta, extras);
  }

  function _reportPossibleCrUseOfBaseServiceType(extras) {
    _reporterNs.report("BaseServiceType", "tsrpc-proto", _context.meta, extras);
  }

  function _reportPossibleCrUseOfServiceProto(extras) {
    _reporterNs.report("ServiceProto", "tsrpc-proto", _context.meta, extras);
  }

  _export({
    AHttpClient: void 0,
    AWsClient: void 0
  });

  return {
    setters: [function (_unresolved_) {
      _reporterNs = _unresolved_;
    }, function (_cc) {
      _cclegacy = _cc.cclegacy;
    }],
    execute: function () {
      _crd = true;

      _cclegacy._RF.push({}, "96b67o2BE5IprU3wT9CGbfU", "AClient", undefined);

      /**
       * 抽象的HTTP客户端,根据具体的环境,接入对应的客户端,让引用类型的地方不需要判断
       * @template ServiceType 
       */
      _export("AHttpClient", AHttpClient = class AHttpClient {
        constructor(buildClient, proto, options) {
          _defineProperty(this, "client", void 0);

          this.client = buildClient(proto, options);
        }

      });
      /**
       * 抽象的Websocket客户端,根据具体的环境,接入对应的客户端,让引用类型的地方不需要判断
       * @template ServiceType 
       */


      _export("AWsClient", AWsClient = class AWsClient {
        constructor(buildClient, proto, options) {
          _defineProperty(this, "client", void 0);

          this.client = buildClient(proto, options);
        }

      });

      _cclegacy._RF.pop();

      _crd = false;
    }
  };
});
//# sourceMappingURL=AClient.js.map