from typing import Any

class Pattern:
    def __init__(self, pointer: Any) -> None: ...
    def set_extend(self, extend: Any) -> None: ...
    def get_extend(self): ...
    def set_filter(self, filter: Any) -> None: ...
    def get_filter(self): ...
    def set_matrix(self, matrix: Any) -> None: ...
    def get_matrix(self): ...

class SolidPattern(Pattern):
    def __init__(self, red: Any, green: Any, blue: Any, alpha: int = ...) -> None: ...
    def get_rgba(self): ...

class SurfacePattern(Pattern):
    def __init__(self, surface: Any) -> None: ...
    def get_surface(self): ...

class Gradient(Pattern):
    def add_color_stop_rgba(
        self, offset: Any, red: float, green: float, blue: float, alpha: float = ...
    ) -> None: ...
    def add_color_stop_rgb(self, offset: Any, red: Any, green: Any, blue: Any) -> None: ...
    def get_color_stops(self): ...

class LinearGradient(Gradient):
    def __init__(self, x0: Any, y0: Any, x1: Any, y1: Any) -> None: ...
    def get_linear_points(self): ...

class RadialGradient(Gradient):
    def __init__(
        self, cx0: Any, cy0: Any, radius0: Any, cx1: Any, cy1: Any, radius1: Any
    ) -> None: ...
    def get_radial_circles(self): ...

PATTERN_TYPE_TO_CLASS: Any
