new JsonRenderer(), 'html' => new HtmlRenderer(), 'markdown' => new MarkdownRenderer(), 'text' => new TextRenderer(), default => throw new \InvalidArgumentException("Unsupported format: $format") }; } return self::$renderers[$format]; } public static function getSupportedFormats(): array { return ['json', 'html', 'markdown', 'text']; } }