# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: proxy/trojan/config.proto
# plugin: python-betterproto2
# This file has been @generated

__all__ = (
    "Account",
    "ClientConfig",
    "Fallback",
    "ServerConfig",
)

from dataclasses import dataclass

import betterproto2

from ....message_pool import default_message_pool

betterproto2.check_compiler_version("0.5.1")


@dataclass(eq=False, repr=False)
class Account(betterproto2.Message):
    password: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)


default_message_pool.register_message("xray.proxy.trojan", "Account", Account)


@dataclass(eq=False, repr=False)
class ClientConfig(betterproto2.Message):
    server: "list[__common__protocol__.ServerEndpoint]" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("xray.proxy.trojan", "ClientConfig", ClientConfig)


@dataclass(eq=False, repr=False)
class Fallback(betterproto2.Message):
    name: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    alpn: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)

    path: "str" = betterproto2.field(3, betterproto2.TYPE_STRING)

    type: "str" = betterproto2.field(4, betterproto2.TYPE_STRING)

    dest: "str" = betterproto2.field(5, betterproto2.TYPE_STRING)

    xver: "int" = betterproto2.field(6, betterproto2.TYPE_UINT64)


default_message_pool.register_message("xray.proxy.trojan", "Fallback", Fallback)


@dataclass(eq=False, repr=False)
class ServerConfig(betterproto2.Message):
    users: "list[__common__protocol__.User]" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, repeated=True
    )

    fallbacks: "list[Fallback]" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("xray.proxy.trojan", "ServerConfig", ServerConfig)


from ...common import protocol as __common__protocol__
