from __future__ import annotations

from abc import ABC, abstractmethod
from time import sleep
from typing import override


class DecontextualizeStrategy(ABC):
    @abstractmethod
    def run(self, sentence: str, context: str) -> str:
        pass


class NullDecontextualizeStrategy(DecontextualizeStrategy):
    def __init__(self, *args):
        sleep(1.0)

    @override
    def run(self, sentence: str, context: str) -> str:
        return sentence
