from __future__ import annotations from typing import Callable class Prompt: def __init__(self, message: str, kind: str, on_submit: Callable[[object], None] = lambda _: None) -> None: self.message = message self.kind = kind self.on_submit = on_submit self.buffer = "" @classmethod def error(cls, message: str) -> Prompt: return cls(message, "error")