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

__all__ = (
    "RootPackageMessage",
    "Test",
)


from pydantic.dataclasses import dataclass

import betterproto


@dataclass(eq=False, repr=False, config={"extra": "forbid"})
class RootPackageMessage(betterproto.Message):
    """ """

    pass


@dataclass(eq=False, repr=False, config={"extra": "forbid"})
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_value: "other.OtherPackageMessage" = betterproto.message_field(2)
    """
    
    """


from . import other
