# mypy: disable-error-code="misc, override, attr-defined, no-redef, assignment"

import QT4Panels.DragOverlay as DragOverlay
import QT4Panels.Edge as Edge
import QT4Panels.Layouts as Layouts
import PyQt5.QtWidgets
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
from QT4Panels.PanelFrame import PanelFrame as PanelFrame
from _typeshed import Incomplete
from typing import Set, Tuple

class PanelLayout(PyQt5.QtWidgets.QWidget):
    def __init__(self, parent, layout: Incomplete | None = ..., dragType: Incomplete | None = ...) -> None: ...
    def _PanelLayout__applyDrag(self): ...
    def _PanelLayout__beginDrag(self, pos, fullEdge): ...
    def _PanelLayout__cancelDrag(self): ...
    def _PanelLayout__resetDragPositions(self): ...
    def _PanelLayout__toggleExpand(self, fullEdge): ...
    def _PanelLayout__updateDrag(self, pos): ...
    def _PanelLayout__updateOverlay(self): ...
    def _PanelLayout__updateTrack(self, pos): ...
    def _applyReal(self): ...
    def addNewFrame(self, coords): ...
    def childEvent(self, event): ...
    def closeFrame(self, frame): ...
    def createDetachLayout(self): ...
    def createPanelFrame(self, count, coords): ...
    def eventFilter(self, child, event): ...
    def findLargestFrame(self): ...
    def getDragType(self): ...
    def getFrames(self): ...
    def getMaximizedFrame(self): ...
    def keyPressEvent(self, event): ...
    def keyReleaseEvent(self, event): ...
    def loadLayout(self, layout): ...
    def mouseMoveEvent(self, event): ...
    def mousePressEvent(self, event): ...
    def mouseReleaseEvent(self, event): ...
    def resizeEvent(self, event): ...
    def saveLayout(self): ...
    def setMaximizedFrame(self, frame): ...
    def __iter__(self): ...
