# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: import_circular_dependency.proto, root.proto
# plugin: python-betterproto
# This file has been @generated

from dataclasses import dataclass

import betterproto

from . import other


@dataclass(eq=False, repr=False)
class RootPackageMessage(betterproto.Message):
    pass


@dataclass(eq=False, repr=False)
class Test(betterproto.Message):
    """
    This test-case verifies support for circular dependencies in the generated python files.

     This is important because we generate 1 python file/module per package, rather than 1 file per proto file.

     Scenario:

         The proto messages depend on each other in a non-circular way:

               Test -------> RootPackageMessage <--------------.
                 `------------------------------------> OtherPackageMessage

         Test and RootPackageMessage are in different files, but belong to the same package (root):

               (Test -------> RootPackageMessage) <------------.
                 `------------------------------------> OtherPackageMessage

         After grouping the packages into single files or modules, a circular dependency is created:

               (root: Test & RootPackageMessage) <-------> (other: OtherPackageMessage)
    """

    message: "RootPackageMessage" = betterproto.message_field(1)
    other: "other.OtherPackageMessage" = betterproto.message_field(2)
