"""
@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.message
import google.protobuf.timestamp_pb2
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class Channel(google.protobuf.message.Message):
    """Root entity for content separation."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

    ID_FIELD_NUMBER: builtins.int
    ORGANIZATION_ID_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    UPDATED_AT_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    SETTINGS_FIELD_NUMBER: builtins.int
    id: builtins.str
    """ID of the channel."""
    organization_id: builtins.str
    """ID of the organization where channel should be created."""
    title: builtins.str
    """Channel title."""
    description: builtins.str
    """Channel description."""
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Time when channel was created."""

    @property
    def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Time of last channel update."""

    @property
    def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
        """Custom labels as `` key:value `` pairs. Maximum 64 per resource."""

    @property
    def settings(self) -> global___ChannelSettings:
        """Channel settings."""

    def __init__(
        self,
        *,
        id: builtins.str = ...,
        organization_id: builtins.str = ...,
        title: builtins.str = ...,
        description: builtins.str = ...,
        created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        updated_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        settings: global___ChannelSettings | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["created_at", b"created_at", "settings", b"settings", "updated_at", b"updated_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["created_at", b"created_at", "description", b"description", "id", b"id", "labels", b"labels", "organization_id", b"organization_id", "settings", b"settings", "title", b"title", "updated_at", b"updated_at"]) -> None: ...

global___Channel = Channel

@typing.final
class ChannelSettings(google.protobuf.message.Message):
    """Channel settings."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADVERTISEMENT_FIELD_NUMBER: builtins.int
    REFERER_VERIFICATION_FIELD_NUMBER: builtins.int
    @property
    def advertisement(self) -> global___AdvertisementSettings:
        """Advertisement settings."""

    @property
    def referer_verification(self) -> global___RefererVerificationSettings:
        """Referer verification settings"""

    def __init__(
        self,
        *,
        advertisement: global___AdvertisementSettings | None = ...,
        referer_verification: global___RefererVerificationSettings | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["advertisement", b"advertisement", "referer_verification", b"referer_verification"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["advertisement", b"advertisement", "referer_verification", b"referer_verification"]) -> None: ...

global___ChannelSettings = ChannelSettings

@typing.final
class AdvertisementSettings(google.protobuf.message.Message):
    """Advertisement settings."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class YandexDirect(google.protobuf.message.Message):
        """YandexDirect provider settings."""

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        ENABLE_FIELD_NUMBER: builtins.int
        PAGE_ID_FIELD_NUMBER: builtins.int
        CATEGORY_FIELD_NUMBER: builtins.int
        enable: builtins.bool
        """Enable Partner Ad for Live and VOD content."""
        page_id: builtins.int
        """Advertisement page ID."""
        category: builtins.int
        """Advertisement category."""
        def __init__(
            self,
            *,
            enable: builtins.bool = ...,
            page_id: builtins.int = ...,
            category: builtins.int = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing.Literal["category", b"category", "enable", b"enable", "page_id", b"page_id"]) -> None: ...

    YANDEX_DIRECT_FIELD_NUMBER: builtins.int
    @property
    def yandex_direct(self) -> global___AdvertisementSettings.YandexDirect: ...
    def __init__(
        self,
        *,
        yandex_direct: global___AdvertisementSettings.YandexDirect | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["provider", b"provider", "yandex_direct", b"yandex_direct"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["provider", b"provider", "yandex_direct", b"yandex_direct"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["provider", b"provider"]) -> typing.Literal["yandex_direct"] | None: ...

global___AdvertisementSettings = AdvertisementSettings

@typing.final
class RefererVerificationSettings(google.protobuf.message.Message):
    """Referer verification settings."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ENABLE_FIELD_NUMBER: builtins.int
    ALLOWED_DOMAINS_FIELD_NUMBER: builtins.int
    enable: builtins.bool
    """Enable verification"""
    @property
    def allowed_domains(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """List of available domains"""

    def __init__(
        self,
        *,
        enable: builtins.bool = ...,
        allowed_domains: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["allowed_domains", b"allowed_domains", "enable", b"enable"]) -> None: ...

global___RefererVerificationSettings = RefererVerificationSettings
