# frozen_string_literal: true

require_relative "quicproquo/ffi_bindings"
require_relative "quicproquo/client"
require_relative "quicproquo/errors"
require_relative "quicproquo/version"

# Ruby SDK for the quicproquo E2E encrypted messenger.
#
# Two usage patterns:
#
#   # Block form (auto-disconnect)
#   QuicProQuo::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 = QuicProQuo::Client.new("127.0.0.1:5001", ca_cert: "ca.pem")
#   client.login("alice", "secret")
#   client.disconnect
module QuicProQuo
end
