class Geet::Github::Issue

def self.create(title, description, api_interface)

def self.create(title, description, api_interface)
  api_path = 'issues'
  request_data = {title:, body: description}
  response = T.cast(
    api_interface.send_request(api_path, data: request_data),
    T::Hash[String, T.untyped]
  )
  issue_number = T.cast(response.fetch('number'), Integer)
  title = T.cast(response.fetch('title'), String)
  link = T.cast(response.fetch('html_url'), String)
  new(issue_number, api_interface, title, link)
end

def self.list(api_interface, assignee: nil, milestone: nil, &type_filter)

def self.list(api_interface, assignee: nil, milestone: nil, &type_filter)
  super do |issue_data|
    !issue_data.key?('pull_request')
  end
end