"""
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
from PyQt5 import QtGui
from PyQt5 import QtCore
from PyQt5.QtWidgets import *
from PyQt5 import sip


class QFileIconProvider(sip.simplewrapper):
    """
    https://doc.qt.io/qt-5/qfileiconprovider.html

    **Detailed Description**
    """

    class Option(int):
        DontUseCustomDirectoryIcons: QFileIconProvider = ...

    class IconType(int):
        Computer: QFileIconProvider = ...
        Desktop: QFileIconProvider = ...
        Trashcan: QFileIconProvider = ...
        Network: QFileIconProvider = ...
        Drive: QFileIconProvider = ...
        Folder: QFileIconProvider = ...
        File: QFileIconProvider = ...

    class Options(sip.simplewrapper):
        @typing.overload
        def __init__(self) -> None:
            ...

        @typing.overload
        def __init__(
            self,
            f: typing.Union["QFileIconProvider.Options", "QFileIconProvider.Option"],
        ) -> None:
            ...

        @typing.overload
        def __init__(self, a0: "QFileIconProvider.Options") -> None:
            ...

        def __hash__(self) -> int:
            ...

        def __bool__(self) -> int:
            ...

        def __invert__(self) -> "QFileIconProvider.Options":
            ...

        def __index__(self) -> int:
            ...

        def __int__(self) -> int:
            ...

    def __init__(self) -> None:
        """
        https://doc.qt.io/qt-5/qfileiconprovider.html#QFileIconProvider

        **QFileIconProvider::QFileIconProvider()**

        Constructs a file icon provider.
        """
        ...

    def options(self) -> "QFileIconProvider.Options":
        """
        https://doc.qt.io/qt-5/qfileiconprovider.html#options

        **QFileIconProvider::Options QFileIconProvider::options() const**

        Returns all the options that affect the icon provider. By default, all
        options are disabled.

        This function was introduced in Qt 5.2.

        **See also** **setOptions** ().
        """
        ...

    def setOptions(
        self,
        options: typing.Union["QFileIconProvider.Options", "QFileIconProvider.Option"],
    ) -> None:
        """
        https://doc.qt.io/qt-5/qfileiconprovider.html#setOptions

        **void QFileIconProvider::setOptions(QFileIconProvider::Options options
        )**

        Sets **options** that affect the icon provider.

        This function was introduced in Qt 5.2.

        **See also** **options** ().
        """
        ...

    def type(self, info: QtCore.QFileInfo) -> str:
        """
        https://doc.qt.io/qt-5/qfileiconprovider.html#type

        **[virtual] QString QFileIconProvider::type(const QFileInfo & info )
        const**

        Returns the type of the file described by **info**.
        """
        ...

    @typing.overload
    def icon(self, type: "QFileIconProvider.IconType") -> QtGui.QIcon:
        """
        https://doc.qt.io/qt-5/qfileiconprovider.html#icon

        **[virtual] QIcon QFileIconProvider::icon(QFileIconProvider::IconType
        type ) const**

        Returns an icon set for the given **type**.
        """
        ...

    @typing.overload
    def icon(self, info: QtCore.QFileInfo) -> QtGui.QIcon:
        """
        https://doc.qt.io/qt-5/qfileiconprovider.html#icon-1

        **[virtual] QIcon QFileIconProvider::icon(const QFileInfo & info )
        const**

        Returns an icon for the file described by **info**.
        """
        ...
