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

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

import PySide6.QtWebView
import PySide6.QtCore
import PySide6.QtGui

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


class QIntList:
    ...


class QWebView(PySide6.QtGui.QWindow):
    cookieAdded              : typing.ClassVar[Signal] = ... # cookieAdded(QString,QString)
    cookieRemoved            : typing.ClassVar[Signal] = ... # cookieRemoved(QString,QString)
    httpUserAgentStringChanged: typing.ClassVar[Signal] = ... # httpUserAgentStringChanged(QString)
    loadProgressChanged      : typing.ClassVar[Signal] = ... # loadProgressChanged(int)
    loadingChanged           : typing.ClassVar[Signal] = ... # loadingChanged(QWebViewLoadingInfo)
    titleChanged             : typing.ClassVar[Signal] = ... # titleChanged(QString)
    urlChanged               : typing.ClassVar[Signal] = ... # urlChanged(QUrl)

    @typing.overload
    def __init__(self, parent: PySide6.QtGui.QWindow, /, *, httpUserAgentString: str | None = ..., url: PySide6.QtCore.QUrl | None = ..., loading: bool | None = ..., loadProgress: int | None = ..., title: str | None = ..., settings: PySide6.QtWebView.QWebViewSettings | None = ...) -> None: ...
    @typing.overload
    def __init__(self, /, screen: PySide6.QtGui.QScreen | None = ..., *, httpUserAgentString: str | None = ..., url: PySide6.QtCore.QUrl | None = ..., loading: bool | None = ..., loadProgress: int | None = ..., title: str | None = ..., settings: PySide6.QtWebView.QWebViewSettings | None = ...) -> None: ...

    def canGoBack(self, /) -> bool: ...
    def canGoForward(self, /) -> bool: ...
    def deleteAllCookies(self, /) -> None: ...
    def deleteCookie(self, domain: str, name: str, /) -> None: ...
    def event(self, arg__1: PySide6.QtCore.QEvent, /) -> bool: ...
    def goBack(self, /) -> None: ...
    def goForward(self, /) -> None: ...
    def httpUserAgentString(self, /) -> str: ...
    def isLoading(self, /) -> bool: ...
    def loadHtml(self, html: str, /, baseUrl: PySide6.QtCore.QUrl | str = ...) -> None: ...
    def loadProgress(self, /) -> int: ...
    def reload(self, /) -> None: ...
    def runJavaScript(self, scriptSource: str, resultCallback: collections.abc.Callable[..., typing.Any], /) -> None: ...
    def setCookie(self, domain: str, name: str, value: str, /) -> None: ...
    def setHttpUserAgentString(self, httpUserAgent: str, /) -> None: ...
    def setUrl(self, url: PySide6.QtCore.QUrl | str, /) -> None: ...
    def settings(self, /) -> PySide6.QtWebView.QWebViewSettings: ...
    def stop(self, /) -> None: ...
    def title(self, /) -> str: ...
    def url(self, /) -> PySide6.QtCore.QUrl: ...


class QWebViewLoadingInfo(Shiboken.Object):
    class LoadStatus(enum.Enum):
        Started                   = 0x0
        Stopped                   = 0x1
        Succeeded                 = 0x2
        Failed                    = 0x3

    @typing.overload
    def __init__(self, other: PySide6.QtWebView.QWebViewLoadingInfo, /, *, url: PySide6.QtCore.QUrl | None = ..., status: PySide6.QtWebView.QWebViewLoadingInfo.LoadStatus | None = ..., errorString: str | None = ...) -> None: ...
    @typing.overload
    def __init__(self, /, *, url: PySide6.QtCore.QUrl | None = ..., status: PySide6.QtWebView.QWebViewLoadingInfo.LoadStatus | None = ..., errorString: str | None = ...) -> None: ...

    def __copy__(self, /) -> PySide6.QtWebView.QWebViewLoadingInfo: ...
    def errorString(self, /) -> str: ...
    def status(self, /) -> PySide6.QtWebView.QWebViewLoadingInfo.LoadStatus: ...
    def swap(self, other: PySide6.QtWebView.QWebViewLoadingInfo, /) -> None: ...
    def url(self, /) -> PySide6.QtCore.QUrl: ...


class QWebViewSettings(Shiboken.Object):
    class WebAttribute(enum.Enum):
        LocalStorageEnabled       = 0x0
        JavaScriptEnabled         = 0x1
        AllowFileAccess           = 0x2
        LocalContentCanAccessFileUrls = 0x3

    def setAttribute(self, attribute: PySide6.QtWebView.QWebViewSettings.WebAttribute, value: bool, /) -> None: ...
    def testAttribute(self, attribute: PySide6.QtWebView.QWebViewSettings.WebAttribute, /) -> bool: ...


class QtWebView(Shiboken.Object):
    @staticmethod
    def initialize() -> None: ...


# eof
