from typing import AnyStr, Tuple, Dict
from types import FunctionType

class WebBridge:
    class Collection(dict):
        def add(self, function: FunctionType) -> None: ...

    def __init__(self, *functions: Tuple[FunctionType]) -> None: ...
    def __str__(self) -> AnyStr: ...
    
    def create_javascript_function(self, name: str, string: AnyStr) -> AnyStr: ...
    def create_javascript_namespace(self,
        alias: str, 
        *functions: Tuple[FunctionType], 
        **named_functions: Dict[str, FunctionType]
    ) -> AnyStr: ...

    def new(self, obj: FunctionType) -> None: ...