NucelarMonitor/Python/Interfaces/Managers/SettingsManagersInterface.py

22 lines
637 B
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from abc import ABC, abstractmethod
from typing import Any, Self, Optional, Sequence
class SettingsManagerInterface(ABC):
DEFAULT_SETTINGS:dict[str, Any|None] = None
@abstractmethod
def get(self:Self,
strings:str|Sequence[str],
inputs:Optional[dict[str, Any|None]|Sequence[Any|None]] = None,
language:Optional[str] = None
) -> str:pass
@abstractmethod
def add(self:Self, inputs:Any|None, overwrite:bool = False) -> None:pass
@abstractmethod
def add_secrets(self:Self, inputs:Any|None, overwrite:bool = False) -> None:pass