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

from QT4Panels.Edge import Edge
from typing import Set, Tuple

OtherSide: tuple
SIDEB: int
SIDEL: int
SIDER: int
SIDET: int
SignEdge: tuple

class Edge:
    def __init__(self, start, end, position, vertical) -> None: ...
    def copy(self): ...
    def distance(self, x, y): ...
    def intersect(self, other): ...
    def __eq__(self, other) -> bool: ...
    def __hash__(self) -> int: ...
    def __lt__(self, other) -> bool: ...

class EdgeWithInfo(Edge):
    def __init__(self, edge, frames) -> None: ...
    def getDragPosition(self): ...
    def getNeighbors(self, sign): ...
    def minSize(self, other): ...
    def setDragPosition(self, position): ...
    def stripFrame(self, frame): ...

def AdjustChains(chains, side): ...
def BuildDragChains(x, y, fullEdge, frames): ...
def ClosestEdge(x, y, vertical, expand, frames): ...
def ClosestHoverEdge(x, y, dist, rect): ...
def ContainsPoint(rect, x, y): ...
def DragChains(x, y, chains): ...
def FindChains(edge, frames, side): ...
def IsNearEdges(x, y, frames): ...
def JoinEdges(frame, edge1, edge2): ...
def LargestColinearEdge(edge, regions, side): ...
def MinimumMatchingEdge(frame, side, frames): ...
def NewBorderRect(scale, side): ...
def RectEdge(coordinates, side): ...
def SplitRect(origRect, side): ...
def SplitTargetRect(rect): ...
def SquashRect(rect, scale, side): ...
