<?php declare(strict_types=1); namespace Dhii\Package\Version; use DomainException; use Exception; /** * Represents a factory that can create a version from a version string. */ interface StringVersionFactoryInterface { /** * Creates a new version from a version string. * * @param string $version The SemVer compatible version string. * * @return VersionInterface The new version. * * @throws DomainException If version string is malformed. * @throws Exception If problem creating. */ public function createVersionFromString(string $version): VersionInterface; }