# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
"""
This file contains the exact signatures for all functions in module
PySide6.QtTextToSpeech, except for defaults which are replaced by "...".
"""

# mypy: disable-error-code="override, overload-overlap"
# Module `PySide6.QtTextToSpeech`

import PySide6.QtTextToSpeech
import PySide6.QtCore

import enum
import typing
from PySide6.QtCore import Signal
from shiboken6 import Shiboken


class QIntList: ...


class QTextToSpeech(PySide6.QtCore.QObject):

    aboutToSynthesize        : typing.ClassVar[Signal] = ... # aboutToSynthesize(qsizetype)
    engineChanged            : typing.ClassVar[Signal] = ... # engineChanged(QString)
    errorOccurred            : typing.ClassVar[Signal] = ... # errorOccurred(QTextToSpeech::ErrorReason,QString)
    localeChanged            : typing.ClassVar[Signal] = ... # localeChanged(QLocale)
    pitchChanged             : typing.ClassVar[Signal] = ... # pitchChanged(double)
    rateChanged              : typing.ClassVar[Signal] = ... # rateChanged(double)
    sayingWord               : typing.ClassVar[Signal] = ... # sayingWord(QString,qsizetype,qsizetype,qsizetype)
    stateChanged             : typing.ClassVar[Signal] = ... # stateChanged(QTextToSpeech::State)
    voiceChanged             : typing.ClassVar[Signal] = ... # voiceChanged(QVoice)
    volumeChanged            : typing.ClassVar[Signal] = ... # volumeChanged(double)

    class BoundaryHint(enum.Enum):

        Default                   = 0x0
        Immediate                 = 0x1
        Word                      = 0x2
        Sentence                  = 0x3
        Utterance                 = 0x4

    class Capability(enum.Flag):

        None_                     = 0x0
        Speak                     = 0x1
        PauseResume               = 0x2
        WordByWordProgress        = 0x4
        Synthesize                = 0x8

    class ErrorReason(enum.Enum):

        NoError                   = 0x0
        Initialization            = 0x1
        Configuration             = 0x2
        Input                     = 0x3
        Playback                  = 0x4

    class State(enum.Enum):

        Ready                     = 0x0
        Speaking                  = 0x1
        Paused                    = 0x2
        Error                     = 0x3
        Synthesizing              = 0x4


class QTextToSpeechEngine(PySide6.QtCore.QObject):

    errorOccurred            : typing.ClassVar[Signal] = ... # errorOccurred(QTextToSpeech::ErrorReason,QString)
    sayingWord               : typing.ClassVar[Signal] = ... # sayingWord(QString,qsizetype,qsizetype)
    stateChanged             : typing.ClassVar[Signal] = ... # stateChanged(QTextToSpeech::State)
    synthesized              : typing.ClassVar[Signal] = ... # synthesized(QAudioFormat,QByteArray)


class QVoice(Shiboken.Object):

    class Age(enum.Enum):

        Child                     = 0x0
        Teenager                  = 0x1
        Adult                     = 0x2
        Senior                    = 0x3
        Other                     = 0x4

    class Gender(enum.Enum):

        Male                      = 0x0
        Female                    = 0x1
        Unknown                   = 0x2


    def __repr__(self, /) -> str: ...


# eof
