"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.wrappers_pb2
import protos.v1.models.ModelModels_pb2
import protos.v1.models.PeerModels_pb2
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _LLamaRuntimes:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _LLamaRuntimesEnumTypeWrapper(
    google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
        _LLamaRuntimes.ValueType
    ],
    builtins.type,
):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    Auto: _LLamaRuntimes.ValueType  # 0
    Cuda: _LLamaRuntimes.ValueType  # 1
    Vulkan: _LLamaRuntimes.ValueType  # 2
    Avx: _LLamaRuntimes.ValueType  # 3
    Avx2: _LLamaRuntimes.ValueType  # 4
    Avx512: _LLamaRuntimes.ValueType  # 5

class LLamaRuntimes(_LLamaRuntimes, metaclass=_LLamaRuntimesEnumTypeWrapper): ...

Auto: LLamaRuntimes.ValueType  # 0
Cuda: LLamaRuntimes.ValueType  # 1
Vulkan: LLamaRuntimes.ValueType  # 2
Avx: LLamaRuntimes.ValueType  # 3
Avx2: LLamaRuntimes.ValueType  # 4
Avx512: LLamaRuntimes.ValueType  # 5
Global___LLamaRuntimes: typing_extensions.TypeAlias = LLamaRuntimes

class _StorageLocations:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _StorageLocationsEnumTypeWrapper(
    google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
        _StorageLocations.ValueType
    ],
    builtins.type,
):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    Local: _StorageLocations.ValueType  # 1
    Cloud: _StorageLocations.ValueType  # 2

class StorageLocations(
    _StorageLocations, metaclass=_StorageLocationsEnumTypeWrapper
): ...

Local: StorageLocations.ValueType  # 1
Cloud: StorageLocations.ValueType  # 2
Global___StorageLocations: typing_extensions.TypeAlias = StorageLocations

@typing.final
class GetAllSettingsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SESSIONID_FIELD_NUMBER: builtins.int
    @property
    def SessionId(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        SessionId: google.protobuf.wrappers_pb2.StringValue | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "SessionId", b"SessionId", "_SessionId", b"_SessionId"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "SessionId", b"SessionId", "_SessionId", b"_SessionId"
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing.Literal["_SessionId", b"_SessionId"]
    ) -> typing.Literal["SessionId"] | None: ...

Global___GetAllSettingsRequest: typing_extensions.TypeAlias = GetAllSettingsRequest

@typing.final
class GetAllSettingsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SETTINGS_FIELD_NUMBER: builtins.int
    @property
    def Settings(self) -> Global___Settings: ...
    def __init__(
        self,
        *,
        Settings: Global___Settings | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing.Literal["Settings", b"Settings"]
    ) -> builtins.bool: ...
    def ClearField(
        self, field_name: typing.Literal["Settings", b"Settings"]
    ) -> None: ...

Global___GetAllSettingsResponse: typing_extensions.TypeAlias = GetAllSettingsResponse

@typing.final
class Settings(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PEER_FIELD_NUMBER: builtins.int
    HOST_FIELD_NUMBER: builtins.int
    MODEL_FIELD_NUMBER: builtins.int
    STORAGE_FIELD_NUMBER: builtins.int
    @property
    def Peer(self) -> Global___PeerSettings: ...
    @property
    def Host(self) -> Global___HostSettings: ...
    @property
    def Model(self) -> Global___ModelSettings: ...
    @property
    def Storage(self) -> Global___StorageSettings: ...
    def __init__(
        self,
        *,
        Peer: Global___PeerSettings | None = ...,
        Host: Global___HostSettings | None = ...,
        Model: Global___ModelSettings | None = ...,
        Storage: Global___StorageSettings | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "Host", b"Host", "Model", b"Model", "Peer", b"Peer", "Storage", b"Storage"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "Host", b"Host", "Model", b"Model", "Peer", b"Peer", "Storage", b"Storage"
        ],
    ) -> None: ...

Global___Settings: typing_extensions.TypeAlias = Settings

@typing.final
class SetAllSettingsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SESSIONID_FIELD_NUMBER: builtins.int
    SETTINGS_FIELD_NUMBER: builtins.int
    @property
    def SessionId(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def Settings(self) -> Global___Settings: ...
    def __init__(
        self,
        *,
        SessionId: google.protobuf.wrappers_pb2.StringValue | None = ...,
        Settings: Global___Settings | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "SessionId",
            b"SessionId",
            "Settings",
            b"Settings",
            "_SessionId",
            b"_SessionId",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "SessionId",
            b"SessionId",
            "Settings",
            b"Settings",
            "_SessionId",
            b"_SessionId",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing.Literal["_SessionId", b"_SessionId"]
    ) -> typing.Literal["SessionId"] | None: ...

Global___SetAllSettingsRequest: typing_extensions.TypeAlias = SetAllSettingsRequest

@typing.final
class SetAllSettingsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SUCCESS_FIELD_NUMBER: builtins.int
    Success: builtins.bool
    def __init__(
        self,
        *,
        Success: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["Success", b"Success"]) -> None: ...

Global___SetAllSettingsResponse: typing_extensions.TypeAlias = SetAllSettingsResponse

@typing.final
class PeerSettings(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PEERS_FIELD_NUMBER: builtins.int
    DISCOVERYPORT_FIELD_NUMBER: builtins.int
    MAXPEERS_FIELD_NUMBER: builtins.int
    DiscoveryPort: builtins.int
    MaxPeers: builtins.int
    @property
    def Peers(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        protos.v1.models.PeerModels_pb2.Peer
    ]: ...
    def __init__(
        self,
        *,
        Peers: (
            collections.abc.Iterable[protos.v1.models.PeerModels_pb2.Peer] | None
        ) = ...,
        DiscoveryPort: builtins.int = ...,
        MaxPeers: builtins.int = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "DiscoveryPort",
            b"DiscoveryPort",
            "MaxPeers",
            b"MaxPeers",
            "Peers",
            b"Peers",
        ],
    ) -> None: ...

Global___PeerSettings: typing_extensions.TypeAlias = PeerSettings

@typing.final
class ModelSettings(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODELFOLDERPATH_FIELD_NUMBER: builtins.int
    MODELS_FIELD_NUMBER: builtins.int
    AUTOMATICDOWNLOADS_FIELD_NUMBER: builtins.int
    ModelFolderPath: builtins.str
    AutomaticDownloads: builtins.bool
    @property
    def Models(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        protos.v1.models.ModelModels_pb2.AIModel
    ]: ...
    def __init__(
        self,
        *,
        ModelFolderPath: builtins.str = ...,
        Models: (
            collections.abc.Iterable[protos.v1.models.ModelModels_pb2.AIModel] | None
        ) = ...,
        AutomaticDownloads: builtins.bool = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "AutomaticDownloads",
            b"AutomaticDownloads",
            "ModelFolderPath",
            b"ModelFolderPath",
            "Models",
            b"Models",
        ],
    ) -> None: ...

Global___ModelSettings: typing_extensions.TypeAlias = ModelSettings

@typing.final
class HostSettings(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    MAXCONCURRENTSESSIONS_FIELD_NUMBER: builtins.int
    SECRETKEY_FIELD_NUMBER: builtins.int
    ORCIPADDRESSORDOMAIN_FIELD_NUMBER: builtins.int
    ORCPORT_FIELD_NUMBER: builtins.int
    AUTOUPDATE_FIELD_NUMBER: builtins.int
    LOGLEVEL_FIELD_NUMBER: builtins.int
    ORCUSESSL_FIELD_NUMBER: builtins.int
    LLAMA_FIELD_NUMBER: builtins.int
    Id: builtins.str
    Name: builtins.str
    MaxConcurrentSessions: builtins.int
    SecretKey: builtins.str
    AutoUpdate: builtins.bool
    LogLevel: builtins.str
    OrcUseSSL: builtins.bool
    @property
    def OrcIpAddressOrDomain(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def OrcPort(self) -> google.protobuf.wrappers_pb2.Int32Value: ...
    @property
    def LLama(self) -> Global___LLamaSettings: ...
    def __init__(
        self,
        *,
        Id: builtins.str = ...,
        Name: builtins.str = ...,
        MaxConcurrentSessions: builtins.int = ...,
        SecretKey: builtins.str = ...,
        OrcIpAddressOrDomain: google.protobuf.wrappers_pb2.StringValue | None = ...,
        OrcPort: google.protobuf.wrappers_pb2.Int32Value | None = ...,
        AutoUpdate: builtins.bool = ...,
        LogLevel: builtins.str = ...,
        OrcUseSSL: builtins.bool = ...,
        LLama: Global___LLamaSettings | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "LLama",
            b"LLama",
            "OrcIpAddressOrDomain",
            b"OrcIpAddressOrDomain",
            "OrcPort",
            b"OrcPort",
            "_LLama",
            b"_LLama",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "AutoUpdate",
            b"AutoUpdate",
            "Id",
            b"Id",
            "LLama",
            b"LLama",
            "LogLevel",
            b"LogLevel",
            "MaxConcurrentSessions",
            b"MaxConcurrentSessions",
            "Name",
            b"Name",
            "OrcIpAddressOrDomain",
            b"OrcIpAddressOrDomain",
            "OrcPort",
            b"OrcPort",
            "OrcUseSSL",
            b"OrcUseSSL",
            "SecretKey",
            b"SecretKey",
            "_LLama",
            b"_LLama",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing.Literal["_LLama", b"_LLama"]
    ) -> typing.Literal["LLama"] | None: ...

Global___HostSettings: typing_extensions.TypeAlias = HostSettings

@typing.final
class LLamaSettings(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RUNTIME_FIELD_NUMBER: builtins.int
    SHOWLOGS_FIELD_NUMBER: builtins.int
    AUTOFALLBACK_FIELD_NUMBER: builtins.int
    SKIPCHECK_FIELD_NUMBER: builtins.int
    LLAMAPATH_FIELD_NUMBER: builtins.int
    LLAVAPATH_FIELD_NUMBER: builtins.int
    CONTEXTSIZE_FIELD_NUMBER: builtins.int
    GPULAYERCOUNT_FIELD_NUMBER: builtins.int
    BATCHSIZE_FIELD_NUMBER: builtins.int
    Runtime: Global___LLamaRuntimes.ValueType
    ShowLogs: builtins.bool
    AutoFallback: builtins.bool
    SkipCheck: builtins.bool
    LlamaPath: builtins.str
    LlavaPath: builtins.str
    ContextSize: builtins.int
    GpuLayerCount: builtins.int
    BatchSize: builtins.int
    def __init__(
        self,
        *,
        Runtime: Global___LLamaRuntimes.ValueType = ...,
        ShowLogs: builtins.bool = ...,
        AutoFallback: builtins.bool = ...,
        SkipCheck: builtins.bool = ...,
        LlamaPath: builtins.str = ...,
        LlavaPath: builtins.str = ...,
        ContextSize: builtins.int = ...,
        GpuLayerCount: builtins.int = ...,
        BatchSize: builtins.int = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "AutoFallback",
            b"AutoFallback",
            "BatchSize",
            b"BatchSize",
            "ContextSize",
            b"ContextSize",
            "GpuLayerCount",
            b"GpuLayerCount",
            "LlamaPath",
            b"LlamaPath",
            "LlavaPath",
            b"LlavaPath",
            "Runtime",
            b"Runtime",
            "ShowLogs",
            b"ShowLogs",
            "SkipCheck",
            b"SkipCheck",
        ],
    ) -> None: ...

Global___LLamaSettings: typing_extensions.TypeAlias = LLamaSettings

@typing.final
class StorageSettings(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LOCATION_FIELD_NUMBER: builtins.int
    LOCALPATH_FIELD_NUMBER: builtins.int
    Location: Global___StorageLocations.ValueType
    LocalPath: builtins.str
    def __init__(
        self,
        *,
        Location: Global___StorageLocations.ValueType = ...,
        LocalPath: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing.Literal["LocalPath", b"LocalPath", "Location", b"Location"],
    ) -> None: ...

Global___StorageSettings: typing_extensions.TypeAlias = StorageSettings
