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

import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
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 _FormatSchemaType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _FormatSchemaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FormatSchemaType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    FORMAT_SCHEMA_TYPE_UNSPECIFIED: _FormatSchemaType.ValueType  # 0
    FORMAT_SCHEMA_TYPE_PROTOBUF: _FormatSchemaType.ValueType  # 1
    FORMAT_SCHEMA_TYPE_CAPNPROTO: _FormatSchemaType.ValueType  # 2

class FormatSchemaType(_FormatSchemaType, metaclass=_FormatSchemaTypeEnumTypeWrapper): ...

FORMAT_SCHEMA_TYPE_UNSPECIFIED: FormatSchemaType.ValueType  # 0
FORMAT_SCHEMA_TYPE_PROTOBUF: FormatSchemaType.ValueType  # 1
FORMAT_SCHEMA_TYPE_CAPNPROTO: FormatSchemaType.ValueType  # 2
global___FormatSchemaType = FormatSchemaType

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

    NAME_FIELD_NUMBER: builtins.int
    CLUSTER_ID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    URI_FIELD_NUMBER: builtins.int
    name: builtins.str
    """Format schema name."""
    cluster_id: builtins.str
    """ClickHouse cluster ID."""
    type: global___FormatSchemaType.ValueType
    """Schema type. Possible values are the following:

    * FORMAT_SCHEMA_TYPE_PROTOBUF - [Protobuf](https://protobuf.dev/) data format (including [ProtobufSingle](https://clickhouse.com/docs/en/interfaces/formats#protobufsingle)).
    * FORMAT_SCHEMA_TYPE_CAPNPROTO - [Cap'n Proto](https://capnproto.org/) data format.
    """
    uri: builtins.str
    """Link to the file of a format schema in Yandex Object Storage. Managed Service for ClickHouse works only with format schemas imported to Object Storage."""
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        cluster_id: builtins.str = ...,
        type: global___FormatSchemaType.ValueType = ...,
        uri: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["cluster_id", b"cluster_id", "name", b"name", "type", b"type", "uri", b"uri"]) -> None: ...

global___FormatSchema = FormatSchema
