# 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.Qt3DAnimation, except for defaults which are replaced by "...".
"""

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

import PySide6.Qt3DAnimation
import PySide6.QtCore
import PySide6.Qt3DCore

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


class QIntList: ...


class Qt3DAnimation(Shiboken.Object):

    class QAbstractAnimation(PySide6.QtCore.QObject):

        animationNameChanged     : typing.ClassVar[Signal] = ... # animationNameChanged(QString)
        durationChanged          : typing.ClassVar[Signal] = ... # durationChanged(float)
        positionChanged          : typing.ClassVar[Signal] = ... # positionChanged(float)

        class AnimationType(enum.Enum):

            KeyframeAnimation         = 0x1
            MorphingAnimation         = 0x2
            VertexBlendAnimation      = 0x3


    class QAbstractAnimationClip(PySide6.Qt3DCore.Qt3DCore.QNode):

        durationChanged          : typing.ClassVar[Signal] = ... # durationChanged(float)

    class QAbstractChannelMapping(PySide6.Qt3DCore.Qt3DCore.QNode): ...

    class QAbstractClipAnimator(PySide6.Qt3DCore.Qt3DCore.QComponent):

        channelMapperChanged     : typing.ClassVar[Signal] = ... # channelMapperChanged(Qt3DAnimation::QChannelMapper*)
        clockChanged             : typing.ClassVar[Signal] = ... # clockChanged(Qt3DAnimation::QClock*)
        loopCountChanged         : typing.ClassVar[Signal] = ... # loopCountChanged(int)
        normalizedTimeChanged    : typing.ClassVar[Signal] = ... # normalizedTimeChanged(float)
        runningChanged           : typing.ClassVar[Signal] = ... # runningChanged(bool)

        class Loops(enum.Enum):

            Infinite                  = -1


    class QAbstractClipBlendNode(PySide6.Qt3DCore.Qt3DCore.QNode): ...

    class QAdditiveClipBlend(PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractClipBlendNode):

        additiveClipChanged      : typing.ClassVar[Signal] = ... # additiveClipChanged(Qt3DAnimation::QAbstractClipBlendNode*)
        additiveFactorChanged    : typing.ClassVar[Signal] = ... # additiveFactorChanged(float)
        baseClipChanged          : typing.ClassVar[Signal] = ... # baseClipChanged(Qt3DAnimation::QAbstractClipBlendNode*)

    class QAnimationAspect(PySide6.Qt3DCore.Qt3DCore.QAbstractAspect): ...

    class QAnimationCallback(Shiboken.Object):

        class Flag(enum.Flag):

            OnOwningThread            = 0x0
            OnThreadPool              = 0x1


    class QAnimationClip(PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractAnimationClip):

        clipDataChanged          : typing.ClassVar[Signal] = ... # clipDataChanged(Qt3DAnimation::QAnimationClipData)

    class QAnimationClipData(Shiboken.Object): ...

    class QAnimationClipLoader(PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractAnimationClip):

        sourceChanged            : typing.ClassVar[Signal] = ... # sourceChanged(QUrl)
        statusChanged            : typing.ClassVar[Signal] = ... # statusChanged(Status)

        class Status(enum.Enum):

            NotReady                  = 0x0
            Ready                     = 0x1
            Error                     = 0x2


    class QAnimationController(PySide6.QtCore.QObject):

        activeAnimationGroupChanged: typing.ClassVar[Signal] = ... # activeAnimationGroupChanged(int)
        entityChanged            : typing.ClassVar[Signal] = ... # entityChanged(Qt3DCore::QEntity*)
        positionChanged          : typing.ClassVar[Signal] = ... # positionChanged(float)
        positionOffsetChanged    : typing.ClassVar[Signal] = ... # positionOffsetChanged(float)
        positionScaleChanged     : typing.ClassVar[Signal] = ... # positionScaleChanged(float)
        recursiveChanged         : typing.ClassVar[Signal] = ... # recursiveChanged(bool)

    class QAnimationGroup(PySide6.QtCore.QObject):

        durationChanged          : typing.ClassVar[Signal] = ... # durationChanged(float)
        nameChanged              : typing.ClassVar[Signal] = ... # nameChanged(QString)
        positionChanged          : typing.ClassVar[Signal] = ... # positionChanged(float)

    class QBlendedClipAnimator(PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractClipAnimator):

        blendTreeChanged         : typing.ClassVar[Signal] = ... # blendTreeChanged(QAbstractClipBlendNode*)

    class QCallbackMapping(PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractChannelMapping):

        channelNameChanged       : typing.ClassVar[Signal] = ... # channelNameChanged(QString)

    class QChannel(Shiboken.Object): ...

    class QChannelComponent(Shiboken.Object): ...

    class QChannelMapper(PySide6.Qt3DCore.Qt3DCore.QNode): ...

    class QChannelMapping(PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractChannelMapping):

        channelNameChanged       : typing.ClassVar[Signal] = ... # channelNameChanged(QString)
        propertyChanged          : typing.ClassVar[Signal] = ... # propertyChanged(QString)
        targetChanged            : typing.ClassVar[Signal] = ... # targetChanged(Qt3DCore::QNode*)

    class QClipAnimator(PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractClipAnimator):

        clipChanged              : typing.ClassVar[Signal] = ... # clipChanged(Qt3DAnimation::QAbstractAnimationClip*)

    class QClipBlendValue(PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractClipBlendNode):

        clipChanged              : typing.ClassVar[Signal] = ... # clipChanged(Qt3DAnimation::QAbstractAnimationClip*)

    class QClock(PySide6.Qt3DCore.Qt3DCore.QNode):

        playbackRateChanged      : typing.ClassVar[Signal] = ... # playbackRateChanged(double)

    class QKeyFrame(Shiboken.Object):

        class InterpolationType(enum.Enum):

            ConstantInterpolation     = 0x0
            LinearInterpolation       = 0x1
            BezierInterpolation       = 0x2


    class QKeyframeAnimation(PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractAnimation):

        easingChanged            : typing.ClassVar[Signal] = ... # easingChanged(QEasingCurve)
        endModeChanged           : typing.ClassVar[Signal] = ... # endModeChanged(QKeyframeAnimation::RepeatMode)
        framePositionsChanged    : typing.ClassVar[Signal] = ... # framePositionsChanged(QList<float>)
        startModeChanged         : typing.ClassVar[Signal] = ... # startModeChanged(QKeyframeAnimation::RepeatMode)
        targetChanged            : typing.ClassVar[Signal] = ... # targetChanged(Qt3DCore::QTransform*)
        targetNameChanged        : typing.ClassVar[Signal] = ... # targetNameChanged(QString)

        class RepeatMode(enum.Enum):

            None_                     = 0x0
            Constant                  = 0x1
            Repeat                    = 0x2


    class QLerpClipBlend(PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractClipBlendNode):

        blendFactorChanged       : typing.ClassVar[Signal] = ... # blendFactorChanged(float)
        endClipChanged           : typing.ClassVar[Signal] = ... # endClipChanged(Qt3DAnimation::QAbstractClipBlendNode*)
        startClipChanged         : typing.ClassVar[Signal] = ... # startClipChanged(Qt3DAnimation::QAbstractClipBlendNode*)

    class QMorphTarget(PySide6.QtCore.QObject):

        attributeNamesChanged    : typing.ClassVar[Signal] = ... # attributeNamesChanged(QStringList)

    class QMorphingAnimation(PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractAnimation):

        easingChanged            : typing.ClassVar[Signal] = ... # easingChanged(QEasingCurve)
        interpolatorChanged      : typing.ClassVar[Signal] = ... # interpolatorChanged(float)
        methodChanged            : typing.ClassVar[Signal] = ... # methodChanged(QMorphingAnimation::Method)
        targetChanged            : typing.ClassVar[Signal] = ... # targetChanged(Qt3DRender::QGeometryRenderer*)
        targetNameChanged        : typing.ClassVar[Signal] = ... # targetNameChanged(QString)
        targetPositionsChanged   : typing.ClassVar[Signal] = ... # targetPositionsChanged(QList<float>)

        class Method(enum.Enum):

            Normalized                = 0x0
            Relative                  = 0x1


    class QSkeletonMapping(PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractChannelMapping):

        skeletonChanged          : typing.ClassVar[Signal] = ... # skeletonChanged(Qt3DCore::QAbstractSkeleton*)

    class QVertexBlendAnimation(PySide6.Qt3DAnimation.Qt3DAnimation.QAbstractAnimation):

        interpolatorChanged      : typing.ClassVar[Signal] = ... # interpolatorChanged(float)
        targetChanged            : typing.ClassVar[Signal] = ... # targetChanged(Qt3DRender::QGeometryRenderer*)
        targetNameChanged        : typing.ClassVar[Signal] = ... # targetNameChanged(QString)
        targetPositionsChanged   : typing.ClassVar[Signal] = ... # targetPositionsChanged(QList<float>)


# eof
