#!/usr/bin/env python3 # -*- coding: utf-8 -*- from typing import Any, Callable, Self, Optional from abc import ABC, abstractmethod from Models.AIResponseModel import AIResponseModel class AIInterpretersManagerInterface(ABC): @abstractmethod def update(self:Self) -> None:pass @abstractmethod def reset(self:Self) -> None:pass @abstractmethod def close(self:Self) -> None:pass @abstractmethod def add(self:Self, inputs:Any|None, overwrite:bool = False) -> None:pass @abstractmethod def remove(self:Self, keys:Optional[str|list[str]] = None) -> None:pass @abstractmethod def request(self:Self, key:str, session:int|None, message:str, orders:list[str] = [], callback:Optional[Callable[[int, AIResponseModel], None]] = None, custom_context:list[int] = [] ) -> int|None:pass @abstractmethod def cancel_request(self:Self, key:str, id:int) -> None:pass