#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from typing import Self, Any, Callable
from Interfaces.ControllersAbstractInterface import ControllersAbstractInterface

class ControllersManagerInterface:

    def start(self:Self) -> None:pass

    def add(self:Self, inputs:str|ControllersAbstractInterface|list|tuple, overwrite:bool = False) -> None:pass

    def get(self:Self, key:str, action:str) -> Callable[[
        dict[str, Any|None], 
        dict[str, Any|None]
    ], Any|None]|None:pass