"""
PySide stub files generated by **IceSpringPySideStubs**

Home: https://baijifeilong.github.io/2022/01/06/ice-spring-pyside-stubs/index.html

Github: https://github.com/baijifeilong/IceSpringPySideStubs

PyPI(PySide2): https://pypi.org/project/IceSpringPySideStubs-PySide2

PyPI(PySide6): https://pypi.org/project/IceSpringPySideStubs-PySide6

PyPI(PyQt5): https://pypi.org/project/IceSpringPySideStubs-PyQt5

PyPI(PyQt6): https://pypi.org/project/IceSpringPySideStubs-PyQt6

Generated by BaiJiFeiLong@gmail.com

License: MIT
"""
import typing
import PyQt6.sip
from PyQt6 import QtQml
from PyQt6 import QtCore


class QQuick3DObject(QtCore.QObject, QtQml.QQmlParserStatus):
    """
    https://doc.qt.io/qt-6/qquick3dobject.html

    **Detailed Description**

    **Object3D**  is the base class for all Qt Quick 3D scene objects. Currently
    the types available in C++ are:

    * **QQuick3DGeometry**
      * **QQuick3DTextureData**

    Both of these types are resource objects which directly inherit
    QQuick3DObject.

    It should not be necessary to use QQuick3DObject directly anywhere currently
    because it is just an interface for supporting spatial items and resources
    in a 3D scene, as well as exposing similar functionality as **QQuickItem**
    for 3D scene content.
    """

    def __init__(self, parent: typing.Optional["QQuick3DObject"] = ...) -> None:
        ...

    def componentComplete(self) -> None:
        ...

    def classBegin(self) -> None:
        ...

    def setParentItem(self, parentItem: "QQuick3DObject") -> None:
        ...

    def parentItem(self) -> "QQuick3DObject":
        ...

    def setState(self, state: str) -> None:
        """
        https://doc.qt.io/qt-6/qquick3dobject.html#state-prop

        **state : QString**

        This property holds the name of the current state of the object.

        If the item is in its default state, that is, no explicit state has been
        set, then this property holds an empty string. Likewise, you can return
        an item to its default state by setting this property to an empty
        string.

        **Access functions:**

        QString **state** () const
        void **setState** (const QString &
        **state** )

        **Notifier signal:**

        void **stateChanged** ()

        **See also** **Qt Quick States** .
        """
        ...

    def state(self) -> str:
        """
        https://doc.qt.io/qt-6/qquick3dobject.html#state-prop

        **state : QString**

        This property holds the name of the current state of the object.

        If the item is in its default state, that is, no explicit state has been
        set, then this property holds an empty string. Likewise, you can return
        an item to its default state by setting this property to an empty
        string.

        **Access functions:**

        QString **state** () const
        void **setState** (const QString &
        **state** )

        **Notifier signal:**

        void **stateChanged** ()

        **See also** **Qt Quick States** .
        """
        ...

    @property
    def parentChanged(self) -> PyQt6.QtCore.pyqtBoundSignal:
        ...

    @property
    def stateChanged(self) -> PyQt6.QtCore.pyqtBoundSignal:
        ...
