# Auto-generated by `python -m gen` — do not edit manually.

from typing import TYPE_CHECKING

import bpy

from ...builder import BaseNode, SocketAccessor

from ...types import (
    InputColor,
)

from ...builder.socket import (
    ColorSocket,
)


class Reroute(BaseNode):
    """
    A single-socket organization tool that supports one input and multiple outputs

    Parameters
    ----------
    input : InputColor
        Input

    Inputs
    ------
    i.input : ColorSocket
        Input

    Outputs
    -------
    o.output : ColorSocket
        Output
    """

    _bl_idname = "NodeReroute"
    node: bpy.types.NodeReroute

    class _Inputs(SocketAccessor):
        input: ColorSocket
        """Input"""

    class _Outputs(SocketAccessor):
        output: ColorSocket
        """Output"""

    if TYPE_CHECKING:

        @property
        def i(self) -> _Inputs: ...
        @property
        def o(self) -> _Outputs: ...

    def __init__(self, input: InputColor = None):
        super().__init__()
        key_args = {"Input": input}

        self._establish_links(**key_args)
