# frozen_string_literal: true

require_relative "quicprochat/ffi_bindings"
require_relative "quicprochat/client"
require_relative "quicprochat/errors"
require_relative "quicprochat/version"

# Ruby SDK for the quicprochat E2E encrypted messenger.
#
# Two usage patterns:
#
#   # Block form (auto-disconnect)
#   QuicProChat::Client.open("127.0.0.1:5001", ca_cert: "ca.pem") do |client|
#     client.login("alice", "secret")
#     client.send("bob", "hello")
#   end
#
#   # Manual lifecycle
#   client = QuicProChat::Client.new("127.0.0.1:5001", ca_cert: "ca.pem")
#   client.login("alice", "secret")
#   client.disconnect
module QuicProChat
end
