module Selenium
  module WebDriver
    module Remote
      module Http
        class Curb < Common
          @client: untyped

          attr_accessor timeout: Numeric?

          def initialize: (timeout: Numeric?) -> void

          def quit_errors: () -> Array[StandardError]

          private

          def request: (Symbol verb, URI | String url, Hash[String, String] headers, String payload) -> Remote::Response

          def client: () -> Curl::Easy
        end
      end
    end
  end
end
