<?php declare(strict_types=1); namespace OCA\GPodderSync\Core\PodcastData; /** * @psalm-type PodcastDataType = array{ * title: ?string, * author: ?string, * link: ?string, * description: ?string, * imageUrl: ?string, * fetchedAtUnix: int, * imageBlob: ?string * } */ class PodcastData implements \JsonSerializable { public function __construct( private ?string $title, private ?string $author, private ?string $link, private ?string $description, private ?string $imageUrl, private int $fetchedAtUnix, private ?string $imageBlob = null ) {} /** * @return PodcastData * @throws \Exception if the XML data could not be parsed */ public static function parseRssXml(string $xmlString, ?int $fetchedAtUnix = null) {} /** * @return ?string */ public function getTitle() {} /** * @return ?string */ public function getAuthor() {} /** * @return ?string */ public function getLink() {} /** * @return ?string */ public function getDescription() {} /** * @return ?string */ public function getImageUrl() {} /** * @return ?int */ public function getFetchedAtUnix() {} /** * @return ?string */ public function getImageBlob() {} public function setImageBlob(?string $blob): void {} /** * @return PodcastDataType */ public function toArray() {} /** * @return PodcastDataType */ public function jsonSerialize(): mixed {} /** * @param PodcastDataType $data * @return PodcastData */ public static function fromArray(array $data) {} }