# typed: strict
# ----------------------------------------------------------------------------
#
#  Welcome to Baml! To use this generated code, please run the following:
#
#  $ gem install baml
#
# ----------------------------------------------------------------------------

# This file was generated by BAML: please do not edit it. Instead, edit the
# BAML files and re-generate this code using: baml-cli generate
# baml-cli is available with the baml package.
# gem install baml
require "sorbet-runtime"
require "baml"

module BamlClient

  module Types

  class Check < T::Struct
      extend T::Sig

      const :name, String
      const :expr, String
      const :status, String
  end

  class Checked < T::Struct
      extend T::Sig
      extend T::Generic
      Value = type_member
      const :value, Value
      const :checks, T::Hash[Symbol, Check]
  end
  # #########################################################################
  # Generated enums (0)
  # #########################################################################

  # #########################################################################
  # Generated classes (4)
  # #########################################################################


  class ClassWithBlockDone < T::Struct
      include Baml::Sorbet::Struct
      const :i_16_digits, Integer
      const :s_20_words, String
  end


  class ClassWithoutDone < T::Struct
      include Baml::Sorbet::Struct
      const :i_16_digits, Integer
      const :s_20_words, String
  end


  class SemanticContainer < T::Struct
      include Baml::Sorbet::Struct
      const :sixteen_digit_number, Integer
      const :string_with_twenty_words, String
      const :class_1, ClassWithoutDone
      const :class_2, ClassWithBlockDone
      const :class_done_needed, ClassWithBlockDone
      const :class_needed, ClassWithoutDone
      const :three_small_things, T::Array[SmallThing]
      const :final_string, String
  end


  class SmallThing < T::Struct
      include Baml::Sorbet::Struct
      const :i_16_digits, Integer
      const :i_8_digits, Integer
  end

  # #########################################################################
  # Generated type aliases (0)
  # #########################################################################


  end


end
