from collections.abc import Iterator
from enum import Enum
from inspect import Signature
from typing import Any

from .formats import VideoFormat
from .plugin import Function

def construct_signature(
    signature: str | Function, return_signature: str, injected: bool | None = None, name: str | None = None
) -> Signature: ...
def _construct_type(signature: str) -> Any: ...
def _construct_parameter(signature: str) -> Any: ...
def _construct_repr_wrap(value: str | Enum | VideoFormat | Iterator[str]) -> str: ...
def _construct_repr(obj: Any, **kwargs: Any) -> str: ...
