 ;; with the dash so they're not clashing with the versions defined by
 ;; ClientInterface
 (declare -connecting? -connected?
-         -wait-for-connection -send! -close
-         -start-heartbeat-thread)
+         -wait-for-connection -send! -close)
 
 (s/defrecord Client
   [server :- s/Str


     NOTE: you must invoke this function to properly close the connection,
     otherwise reconnection attempts may happen and the heartbeat thread will
     persist, in case it was previously started.")
  (start-heartbeat-thread [client]
    "Start a thread that will periodically send WebSocket pings to the pcp-broker.
    The heartbeat thread will be stopped once the 'close' is invoked.
    Propagate any unhandled exception thrown while attempting to connect.
    Will raise ::not-connected if the client is not currently connected with the
    pcp-broker."))

(def Handlers
  "schema for handler map. String keys are data_schema handlers,

  (connected? [client] (-connected? client))
  (wait-for-connection [client timeout] (-wait-for-connection client timeout))
  (send! [client message] (-send! client message))
  (close [client] (-close client)))

(s/defn ^:private -connecting? :- s/Bool
  [client :- Client]
