"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
===- IR.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.message
import gtirb.proto.AuxData_pb2
import gtirb.proto.CFG_pb2
import gtirb.proto.Module_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

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

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> gtirb.proto.AuxData_pb2.AuxData: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: gtirb.proto.AuxData_pb2.AuxData | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    UUID_FIELD_NUMBER: builtins.int
    MODULES_FIELD_NUMBER: builtins.int
    AUX_DATA_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    CFG_FIELD_NUMBER: builtins.int
    uuid: builtins.bytes
    @property
    def modules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[gtirb.proto.Module_pb2.Module]: ...
    @property
    def aux_data(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, gtirb.proto.AuxData_pb2.AuxData]: ...
    version: builtins.int
    @property
    def cfg(self) -> gtirb.proto.CFG_pb2.CFG: ...
    def __init__(
        self,
        *,
        uuid: builtins.bytes = ...,
        modules: collections.abc.Iterable[gtirb.proto.Module_pb2.Module] | None = ...,
        aux_data: collections.abc.Mapping[builtins.str, gtirb.proto.AuxData_pb2.AuxData] | None = ...,
        version: builtins.int = ...,
        cfg: gtirb.proto.CFG_pb2.CFG | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cfg", b"cfg"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["aux_data", b"aux_data", "cfg", b"cfg", "modules", b"modules", "uuid", b"uuid", "version", b"version"]) -> None: ...

global___IR = IR
