massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / Pillow / PIL / ImageFilter.pyi
diff --git a/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stubs/Pillow/PIL/ImageFilter.pyi b/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stubs/Pillow/PIL/ImageFilter.pyi
new file mode 100644 (file)
index 0000000..af03bce
--- /dev/null
@@ -0,0 +1,137 @@
+from _typeshed import Self
+from typing import Any, Callable, Iterable, Sequence, Tuple, Type
+from typing_extensions import Literal
+
+from .Image import Image
+
+_FilterArgs = Tuple[Sequence[int], int, int, Sequence[int]]
+
+# filter image parameters below are the C images, i.e. Image().im.
+
+class Filter: ...
+class MultibandFilter(Filter): ...
+
+class BuiltinFilter(MultibandFilter):
+    def filter(self, image) -> Image: ...
+
+class Kernel(BuiltinFilter):
+    name: str
+    filterargs: _FilterArgs
+    def __init__(self, size: Sequence[int], kernel: Sequence[int], scale: Any | None = ..., offset: int = ...) -> None: ...
+
+class RankFilter(Filter):
+    name: str
+    size: int
+    rank: int
+    def __init__(self, size: int, rank: int) -> None: ...
+    def filter(self, image) -> Image: ...
+
+class MedianFilter(RankFilter):
+    name: str
+    size: int
+    rank: int
+    def __init__(self, size: int = ...) -> None: ...
+
+class MinFilter(RankFilter):
+    name: str
+    size: int
+    rank: int
+    def __init__(self, size: int = ...) -> None: ...
+
+class MaxFilter(RankFilter):
+    name: str
+    size: int
+    rank: int
+    def __init__(self, size: int = ...) -> None: ...
+
+class ModeFilter(Filter):
+    name: str
+    size: int
+    def __init__(self, size: int = ...) -> None: ...
+    def filter(self, image) -> Image: ...
+
+class GaussianBlur(MultibandFilter):
+    name: str
+    radius: float
+    def __init__(self, radius: float = ...) -> None: ...
+    def filter(self, image) -> Image: ...
+
+class BoxBlur(MultibandFilter):
+    name: str
+    radius: float
+    def __init__(self, radius: float) -> None: ...
+    def filter(self, image) -> Image: ...
+
+class UnsharpMask(MultibandFilter):
+    name: str
+    radius: float
+    percent: int
+    threshold: int
+    def __init__(self, radius: float = ..., percent: int = ..., threshold: int = ...) -> None: ...
+    def filter(self, image) -> Image: ...
+
+class BLUR(BuiltinFilter):
+    name: str
+    filterargs: _FilterArgs
+
+class CONTOUR(BuiltinFilter):
+    name: str
+    filterargs: _FilterArgs
+
+class DETAIL(BuiltinFilter):
+    name: str
+    filterargs: _FilterArgs
+
+class EDGE_ENHANCE(BuiltinFilter):
+    name: str
+    filterargs: _FilterArgs
+
+class EDGE_ENHANCE_MORE(BuiltinFilter):
+    name: str
+    filterargs: _FilterArgs
+
+class EMBOSS(BuiltinFilter):
+    name: str
+    filterargs: _FilterArgs
+
+class FIND_EDGES(BuiltinFilter):
+    name: str
+    filterargs: _FilterArgs
+
+class SHARPEN(BuiltinFilter):
+    name: str
+    filterargs: _FilterArgs
+
+class SMOOTH(BuiltinFilter):
+    name: str
+    filterargs: _FilterArgs
+
+class SMOOTH_MORE(BuiltinFilter):
+    name: str
+    filterargs: _FilterArgs
+
+class Color3DLUT(MultibandFilter):
+    name: str
+    size: list[int]
+    channels: int
+    mode: str | None
+    table: Any
+    def __init__(
+        self, size: int | Iterable[int], table, channels: int = ..., target_mode: str | None = ..., **kwargs
+    ) -> None: ...
+    @classmethod
+    def generate(
+        cls: Type[Self],
+        size: int | tuple[int, int, int],
+        callback: Callable[[float, float, float], Iterable[float]],
+        channels: int = ...,
+        target_mode: str | None = ...,
+    ) -> Self: ...
+    def transform(
+        self: Self,
+        callback: Callable[..., Iterable[float]],
+        with_normals: bool = ...,
+        channels: Literal[3, 4] | None = ...,
+        target_mode: Any | None = ...,
+    ) -> Self: ...
+    def filter(self, image) -> Image: ...