import numpy as np
from _typeshed import Incomplete
from typing import Callable, Iterator

class GnomonicFaceSet(Iterator):
    channel_name: Incomplete
    blender: Incomplete
    def __init__(self, faces: list['GnomonicFace'] | None = None, channel_name: str = 'default') -> None: ...
    def __iter__(self): ...
    def __next__(self) -> GnomonicFace: ...
    def __len__(self) -> int: ...
    def __getitem__(self, idx: int) -> GnomonicFace: ...
    def add_face(self, face: GnomonicFace): ...
    def get_faces(self) -> list['GnomonicFace']: ...
    def apply_to_all(self, func: Callable[[GnomonicFace], None]): ...
    def attach_blender(self, name: str, **kwargs): ...
    def to_equirectangular(self, eq_shape: tuple[int, int], preserve_dtype: bool = True, blend_method: str | None = None) -> EquirectangularImage: ...
    def blend_channels(self, projected_faces: list['EquirectangularImage'], preserve_dtype: bool, blender: Callable) -> EquirectangularImage: ...
    def to_pcd(self, model: Incomplete | None = None, depth: np.ndarray = None, eq_shape: tuple[int, int] = (512, 1024), grad_threshold: float = 0.1, min_radius: float = 0.0, max_radius: float = 10.0, blender_name: str = 'simple'): ...
    def clone(self) -> GnomonicFaceSet: ...
