<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/protobuf/descriptor.proto

namespace Google\Protobuf\Internal\FieldDescriptorProto;

/**
 * Protobuf type <code>google.protobuf.FieldDescriptorProto.Label</code>
 */
class Label
{
    /**
     * 0 is reserved for errors
     *
     * Generated from protobuf enum <code>LABEL_OPTIONAL = 1;</code>
     */
    const LABEL_OPTIONAL = 1;
    /**
     * Generated from protobuf enum <code>LABEL_REQUIRED = 2;</code>
     */
    const LABEL_REQUIRED = 2;
    /**
     * Generated from protobuf enum <code>LABEL_REPEATED = 3;</code>
     */
    const LABEL_REPEATED = 3;
}

// Adding a class alias for backwards compatibility with the previous class name.
class_alias(Label::class, \Google\Protobuf\Internal\FieldDescriptorProto_Label::class);

