CXCV/Python/Interfaces/Managers/SettingsManagerInterface.py

20 lines
602 B
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from typing import Any, Optional, Self
from abc import ABC, abstractmethod
class SettingsManagerInterface(ABC):
@abstractmethod
def get(self:Self,
keys:str|list[str]|tuple[str, ...],
inputs:Optional[dict[str, Any|None]|list[Any|None]|tuple[Any|None, ...]] = None,
default:Any|None = None
) -> Any|None: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