You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: error_list.rb
    path of file: ./repos/aws-sdk-ruby/build_tools/aws-sdk-code-generator/lib/aws-sdk-code-generator/rbs
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

module AwsSdkCodeGenerator
  module RBS
    class ErrorList
      include Enumerable

      def initialize(api:, module_name:)
        @api = api
        @module_name = module_name
        @errors = @api['shapes'].inject([]) do |es, (name, shape)|
          if error_struct?(shape)
            members = shape["members"].map do |member_name, member_body|
              MethodSignature.new(
                method_name: Underscore.underscore(member_name),
       
    
      def initialize(api:, module_name:)
        @api = api
        @module_name = module_name
        @errors = @api['shapes'].inject([]) do |es, (name, shape)|
          if error_struct?(shape)
            members = shape["members"].map do |member_name, member_body|
              MethodSignature.new(
                method_name: Underscore.underscore(member_name),
                overloads: ["() -> #{Docstring.ucfirst(member_body['type'] ||'::String')}"]
              )
            end
            es << {
              name: name,
              members: members,
            }
          end
          es
        end