import abc
from .metadata import Metadata as Metadata
from _typeshed import Incomplete
from collections.abc import Generator

class Layer(Metadata):
    advancedBlendComponent: Incomplete
    blendAmount: Incomplete
    blendAmountEnabled: Incomplete
    blendMode: Incomplete
    blendModeStr: Incomplete
    blendType: Incomplete
    blendTypeStr: Incomplete
    colorTag: Incomplete
    hasMask: Incomplete
    hasMaskStack: Incomplete
    isAdjustableLayer: Incomplete
    isAdjustmentLayer: Incomplete
    isCachedUpToHere: Incomplete
    isChannelLayer: Incomplete
    isGraphLayer: Incomplete
    isGroupLayer: Incomplete
    isLayerCached: Incomplete
    isLocked: Incomplete
    isPaintableLayer: Incomplete
    isProceduralLayer: Incomplete
    isSelected: Incomplete
    isShaderLayer: Incomplete
    isShared: Incomplete
    isVisible: Incomplete
    layerBelowBlendLut: Incomplete
    thisLayerBlendLut: Incomplete
    unknownType: bool
    def __init__(self, name, parent) -> None: ...
    @property
    def maskImageSet(self): ...
    @maskImageSet.setter
    def maskImageSet(self, maskImageSet) -> None: ...
    @property
    def maskStack(self): ...
    @maskStack.setter
    def maskStack(self, maskStack) -> None: ...
    def asDict(self, includeDict: Incomplete | None = ...): ...
    def cache(self) -> None: ...
    def configureMariObject(self) -> None: ...
    def configureMariObjectBasics(self) -> None: ...
    @abc.abstractmethod
    def createMariObject(self): ...
    @classmethod
    def fromDict(cls, dataDict, parent, sourceFilePath): ...
    @classmethod
    def fromMariObject(cls, mariObject, parent): ...
    def getParameter(self, parameterValue): ...
    def make(self, finishedCallback=...) -> None: ...
    def makeChildren(self, finishedCallback=...) -> None: ...
    def makeMask(self, finishedCallback=...) -> None: ...
    def setParameter(self, parameterDict): ...
    def walk(self, depth: int = ...) -> Generator[Incomplete, None, None]: ...
