from _typeshed import Incomplete

from .Image import Image
from .ImageDraw import ImageDraw

class Pen:
    color: Incomplete
    width: Incomplete
    def __init__(self, color, width: int = 1, opacity: int = 255) -> None: ...

class Brush:
    color: Incomplete
    def __init__(self, color, opacity: int = 255) -> None: ...

class Font:
    color: Incomplete
    font: Incomplete
    def __init__(self, color, file, size: int = 12) -> None: ...

class Draw:
    draw: ImageDraw
    image: Image
    transform: Incomplete | None
    def __init__(self, image, size: Incomplete | None = None, color: Incomplete | None = None) -> None: ...
    def flush(self) -> Image: ...
    def render(self, op, xy, pen, brush: Incomplete | None = None) -> None: ...
    def settransform(self, offset) -> None: ...
    def arc(self, xy, start, end, *options) -> None: ...
    def chord(self, xy, start, end, *options) -> None: ...
    def ellipse(self, xy, *options) -> None: ...
    def line(self, xy, *options) -> None: ...
    def pieslice(self, xy, start, end, *options) -> None: ...
    def polygon(self, xy, *options) -> None: ...
    def rectangle(self, xy, *options) -> None: ...
    def text(self, xy, text, font) -> None: ...
    def textbbox(self, xy, text, font): ...
    def textlength(self, text, font): ...
