# This file was generated by generate_stubs.rb
# Do not edit this file directly.

# A Descriptor provides information about a given Protobuf definition.
class Google::Protobuf::Descriptor

  # Returns the {FileDescriptor} object this message belongs to.
  # 
  # @return [FileDescriptor]
  def file_descriptor; end

  # Returns the name of this message type as a fully-qualified string (e.g.,
  # My.Package.MessageType).
  # 
  # @return [String]
  def name; end

  # Iterates over fields in this message type, yielding to the block on each one.
  # 
  # @yield [FieldDescriptor]
  # @return [nil]
  def each(&block); end

  # Returns the field descriptor for the field with the given name, if present,
  # or nil if none.
  # 
  # @param name [String]
  # @return [FieldDescriptor]
  def lookup(name); end

  # Invokes the given block for each oneof in this message type, passing the
  # corresponding {OneofDescriptor}.
  # 
  # @yield [OneofDescriptor]
  # @return [nil]
  def each_oneof(&block); end

  # Returns the oneof descriptor for the oneof with the given name, if present,
  # or nil if none.
  # 
  # @param name [String]
  # @return [OneofDescriptor]
  def lookup_oneof(name); end

  # Returns the Ruby class created for this message type.
  # 
  # @return [Class<Google::Protobuf::AbstractMessage>]
  def msgclass; end

  # Returns the
  # {https://github.com/protocolbuffers/protobuf/blob/v30.2/src/google/protobuf/descriptor.proto#L571
  # MessageOptions} for this {Descriptor}.
  # 
  # @return [MessageOptions]
  def options; end

  # Returns the
  # {https://github.com/protocolbuffers/protobuf/blob/v30.2/src/google/protobuf/descriptor.proto#L147
  # DescriptorProto} of this {Descriptor}.
  # 
  # @return [DescriptorProto]
  def to_proto; end

  # Creates a new, empty, message type descriptor. At a minimum, its name must be
  # set before it is added to a pool. It cannot be used to create messages until
  # it is added to a pool, after which it becomes immutable (as part of a
  # finalization process).
  def self.initialize; end

end # class Google::Protobuf::Descriptor
