"""
@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
import yandex.cloud.speechsense.v1.analysis.predefined_classifiers_pb2
import yandex.cloud.speechsense.v1.analysis.utterance_statistics_pb2

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    PHRASES_FIELD_NUMBER: builtins.int
    ALGORITHMS_METADATA_FIELD_NUMBER: builtins.int
    @property
    def phrases(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Phrase]: ...
    @property
    def algorithms_metadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AlgorithmMetadata]:
        """Their might be several algorithms that work on talk transcription. For example: speechkit and translator
        So there might be other fields here for tracing
        """

    def __init__(
        self,
        *,
        phrases: collections.abc.Iterable[global___Phrase] | None = ...,
        algorithms_metadata: collections.abc.Iterable[global___AlgorithmMetadata] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["algorithms_metadata", b"algorithms_metadata", "phrases", b"phrases"]) -> None: ...

global___Transcription = Transcription

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

    CHANNEL_NUMBER_FIELD_NUMBER: builtins.int
    START_TIME_MS_FIELD_NUMBER: builtins.int
    END_TIME_MS_FIELD_NUMBER: builtins.int
    PHRASE_FIELD_NUMBER: builtins.int
    STATISTICS_FIELD_NUMBER: builtins.int
    CLASSIFIERS_FIELD_NUMBER: builtins.int
    channel_number: builtins.int
    start_time_ms: builtins.int
    end_time_ms: builtins.int
    @property
    def phrase(self) -> global___PhraseText: ...
    @property
    def statistics(self) -> global___PhraseStatistics: ...
    @property
    def classifiers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.speechsense.v1.analysis.predefined_classifiers_pb2.RecognitionClassifierResult]: ...
    def __init__(
        self,
        *,
        channel_number: builtins.int = ...,
        start_time_ms: builtins.int = ...,
        end_time_ms: builtins.int = ...,
        phrase: global___PhraseText | None = ...,
        statistics: global___PhraseStatistics | None = ...,
        classifiers: collections.abc.Iterable[yandex.cloud.speechsense.v1.analysis.predefined_classifiers_pb2.RecognitionClassifierResult] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["phrase", b"phrase", "statistics", b"statistics"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["channel_number", b"channel_number", "classifiers", b"classifiers", "end_time_ms", b"end_time_ms", "phrase", b"phrase", "start_time_ms", b"start_time_ms", "statistics", b"statistics"]) -> None: ...

global___Phrase = Phrase

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

    TEXT_FIELD_NUMBER: builtins.int
    LANGUAGE_FIELD_NUMBER: builtins.int
    NORMALIZED_TEXT_FIELD_NUMBER: builtins.int
    WORDS_FIELD_NUMBER: builtins.int
    text: builtins.str
    language: builtins.str
    normalized_text: builtins.str
    @property
    def words(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Word]: ...
    def __init__(
        self,
        *,
        text: builtins.str = ...,
        language: builtins.str = ...,
        normalized_text: builtins.str = ...,
        words: collections.abc.Iterable[global___Word] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["language", b"language", "normalized_text", b"normalized_text", "text", b"text", "words", b"words"]) -> None: ...

global___PhraseText = PhraseText

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

    WORD_FIELD_NUMBER: builtins.int
    START_TIME_MS_FIELD_NUMBER: builtins.int
    END_TIME_MS_FIELD_NUMBER: builtins.int
    word: builtins.str
    start_time_ms: builtins.int
    end_time_ms: builtins.int
    def __init__(
        self,
        *,
        word: builtins.str = ...,
        start_time_ms: builtins.int = ...,
        end_time_ms: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["end_time_ms", b"end_time_ms", "start_time_ms", b"start_time_ms", "word", b"word"]) -> None: ...

global___Word = Word

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

    CREATED_TASK_DATE_FIELD_NUMBER: builtins.int
    COMPLETED_TASK_DATE_FIELD_NUMBER: builtins.int
    ERROR_FIELD_NUMBER: builtins.int
    TRACE_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    trace_id: builtins.str
    name: builtins.str
    @property
    def created_task_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def completed_task_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def error(self) -> global___Error: ...
    def __init__(
        self,
        *,
        created_task_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        completed_task_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        error: global___Error | None = ...,
        trace_id: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["completed_task_date", b"completed_task_date", "created_task_date", b"created_task_date", "error", b"error"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["completed_task_date", b"completed_task_date", "created_task_date", b"created_task_date", "error", b"error", "name", b"name", "trace_id", b"trace_id"]) -> None: ...

global___AlgorithmMetadata = AlgorithmMetadata

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

    CODE_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    code: builtins.str
    message: builtins.str
    def __init__(
        self,
        *,
        code: builtins.str = ...,
        message: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["code", b"code", "message", b"message"]) -> None: ...

global___Error = Error

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

    STATISTICS_FIELD_NUMBER: builtins.int
    @property
    def statistics(self) -> yandex.cloud.speechsense.v1.analysis.utterance_statistics_pb2.UtteranceStatistics: ...
    def __init__(
        self,
        *,
        statistics: yandex.cloud.speechsense.v1.analysis.utterance_statistics_pb2.UtteranceStatistics | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["statistics", b"statistics"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["statistics", b"statistics"]) -> None: ...

global___PhraseStatistics = PhraseStatistics
