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