"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
===- Section.proto ------------------------------------------*- Proto -*-===//

 Copyright (C) 2020 GrammaTech, Inc.

 This code is licensed under the MIT license. See the LICENSE file in the
 project root for license terms.

 This project is sponsored by the Office of Naval Research, One Liberty
 Center, 875 N. Randolph Street, Arlington, VA 22203 under contract #
 N68335-17-C-0700.  The content of the information does not necessarily
 reflect the position or policy of the Government and no official
 endorsement should be inferred.

===----------------------------------------------------------------------===//
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import gtirb.proto.ByteInterval_pb2
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _SectionFlag:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _SectionFlagEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SectionFlag.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    Section_Undefined: _SectionFlag.ValueType  # 0
    Readable: _SectionFlag.ValueType  # 1
    Writable: _SectionFlag.ValueType  # 2
    Executable: _SectionFlag.ValueType  # 3
    Loaded: _SectionFlag.ValueType  # 4
    Initialized: _SectionFlag.ValueType  # 5
    ThreadLocal: _SectionFlag.ValueType  # 6

class SectionFlag(_SectionFlag, metaclass=_SectionFlagEnumTypeWrapper): ...

Section_Undefined: SectionFlag.ValueType  # 0
Readable: SectionFlag.ValueType  # 1
Writable: SectionFlag.ValueType  # 2
Executable: SectionFlag.ValueType  # 3
Loaded: SectionFlag.ValueType  # 4
Initialized: SectionFlag.ValueType  # 5
ThreadLocal: SectionFlag.ValueType  # 6
global___SectionFlag = SectionFlag

class Section(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    UUID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    BYTE_INTERVALS_FIELD_NUMBER: builtins.int
    SECTION_FLAGS_FIELD_NUMBER: builtins.int
    uuid: builtins.bytes
    name: builtins.str
    @property
    def byte_intervals(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[gtirb.proto.ByteInterval_pb2.ByteInterval]: ...
    @property
    def section_flags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___SectionFlag.ValueType]: ...
    def __init__(
        self,
        *,
        uuid: builtins.bytes = ...,
        name: builtins.str = ...,
        byte_intervals: collections.abc.Iterable[gtirb.proto.ByteInterval_pb2.ByteInterval] | None = ...,
        section_flags: collections.abc.Iterable[global___SectionFlag.ValueType] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["byte_intervals", b"byte_intervals", "name", b"name", "section_flags", b"section_flags", "uuid", b"uuid"]) -> None: ...

global___Section = Section
