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

from typing import TYPE_CHECKING


if TYPE_CHECKING:
    from dataclasses import dataclass
else:
    from pydantic.dataclasses import dataclass

import betterproto
from pydantic.dataclasses import rebuild_dataclass


class MyEnum(betterproto.Enum):
    ZERO = 0
    ONE = 1
    TWO = 2

    @classmethod
    def __get_pydantic_core_schema__(cls, _source_type, _handler):
        from pydantic_core import core_schema

        return core_schema.int_schema(ge=0)


@dataclass(eq=False, repr=False)
class Test(betterproto.Message):
    camel_case: int = betterproto.int32_field(1)
    snake_case: "MyEnum" = betterproto.enum_field(2)
    snake_case_message: "SnakeCaseMessage" = betterproto.message_field(3)
    uppercase: int = betterproto.int32_field(4)


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


rebuild_dataclass(Test)  # type: ignore
