"""
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 enum
import typing
import PyQt6.sip
from PyQt6 import QtCore
from PyQt6.QtGui import *
import enum


class QAbstractFileIconProvider(PyQt6.sip.simplewrapper):
    """
    https://doc.qt.io/qt-6/qabstractfileiconprovider.html

    **Detailed Description**
    """

    class Option(enum.Flag):
        DontUseCustomDirectoryIcons: QAbstractFileIconProvider = ...

    class IconType(enum.Enum):
        Computer: QAbstractFileIconProvider = ...
        Desktop: QAbstractFileIconProvider = ...
        Trashcan: QAbstractFileIconProvider = ...
        Network: QAbstractFileIconProvider = ...
        Drive: QAbstractFileIconProvider = ...
        Folder: QAbstractFileIconProvider = ...
        File: QAbstractFileIconProvider = ...

    def __init__(self) -> None:
        """
        https://doc.qt.io/qt-6/qabstractfileiconprovider.html#QAbstractFileIconP
        rovider

        **QAbstractFileIconProvider::QAbstractFileIconProvider()**

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

    def options(self) -> "QAbstractFileIconProvider.Option":
        """
        https://doc.qt.io/qt-6/qabstractfileiconprovider.html#options

        **[virtual] QAbstractFileIconProvider::Options
        QAbstractFileIconProvider::options() const**

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

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

    def setOptions(self, a0: "QAbstractFileIconProvider.Option") -> None:
        """
        https://doc.qt.io/qt-6/qabstractfileiconprovider.html#setOptions

        **[virtual] void
        QAbstractFileIconProvider::setOptions(QAbstractFileIconProvider::Options
        options )**

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

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

    def type(self, a0: QtCore.QFileInfo) -> str:
        """
        https://doc.qt.io/qt-6/qabstractfileiconprovider.html#type

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

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

    @typing.overload
    def icon(self, a0: "QAbstractFileIconProvider.IconType") -> "QIcon":
        """
        https://doc.qt.io/qt-6/qabstractfileiconprovider.html#icon

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

        Returns an icon set for the given **type** , using the current icon
        theme.

        **See also** **QIcon::fromTheme** .
        """
        ...

    @typing.overload
    def icon(self, a0: QtCore.QFileInfo) -> "QIcon":
        """
        https://doc.qt.io/qt-6/qabstractfileiconprovider.html#icon-1

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

        Returns an icon for the file described by **info** , using the current
        icon theme.

        **See also** **QIcon::fromTheme** .
        """
        ...
