import typing
import collections.abc
import typing_extensions
import numpy.typing as npt
import bpy.ops
import bpy.stub_internal.rna_enums

class _CLS_bake(bpy.ops._BPyOpsSubModOp):
    def __call__(
        self,
        execution_context: int | str | None = None,
        undo: bool | None = None,
        /,
    ) -> set[typing.Literal[bpy.stub_internal.rna_enums.OperatorReturnItems]]:
        """Bake dynamic paint image sequence surface

        :param execution_context:
        :param undo:
        :return: Result of the operator call.
        """

class _CLS_output_toggle(bpy.ops._BPyOpsSubModOp):
    def __call__(
        self,
        execution_context: int | str | None = None,
        undo: bool | None = None,
        /,
        *,
        output: typing.Literal["A", "B"] | None = "A",
    ) -> set[typing.Literal[bpy.stub_internal.rna_enums.OperatorReturnItems]]:
        """Add or remove Dynamic Paint output data layer

        :param execution_context:
        :param undo:
        :param output: Output Toggle, (optional)
        :return: Result of the operator call.
        """

class _CLS_surface_slot_add(bpy.ops._BPyOpsSubModOp):
    def __call__(
        self,
        execution_context: int | str | None = None,
        undo: bool | None = None,
        /,
    ) -> set[typing.Literal[bpy.stub_internal.rna_enums.OperatorReturnItems]]:
        """Add a new Dynamic Paint surface slot

        :param execution_context:
        :param undo:
        :return: Result of the operator call.
        """

class _CLS_surface_slot_remove(bpy.ops._BPyOpsSubModOp):
    def __call__(
        self,
        execution_context: int | str | None = None,
        undo: bool | None = None,
        /,
    ) -> set[typing.Literal[bpy.stub_internal.rna_enums.OperatorReturnItems]]:
        """Remove the selected surface slot

        :param execution_context:
        :param undo:
        :return: Result of the operator call.
        """

class _CLS_type_toggle(bpy.ops._BPyOpsSubModOp):
    def __call__(
        self,
        execution_context: int | str | None = None,
        undo: bool | None = None,
        /,
        *,
        type: typing.Literal[bpy.stub_internal.rna_enums.PropDynamicpaintTypeItems]
        | None = "CANVAS",
    ) -> set[typing.Literal[bpy.stub_internal.rna_enums.OperatorReturnItems]]:
        """Toggle whether given type is active or not

        :param execution_context:
        :param undo:
        :param type: Type, (optional)
        :return: Result of the operator call.
        """

bake: _CLS_bake

output_toggle: _CLS_output_toggle

surface_slot_add: _CLS_surface_slot_add

surface_slot_remove: _CLS_surface_slot_remove

type_toggle: _CLS_type_toggle
