package net.cijber.pubgrub.version import net.cijber.pubgrub.stubs.Version interface VersionConstraint> { fun allows(version: V): Boolean fun allowsAll(rhs: VersionConstraint): Boolean fun allowsAny(rhs: VersionConstraint): Boolean fun intersect(rhs: VersionConstraint): VersionConstraint fun difference(rhs: VersionConstraint): VersionConstraint fun union(rhs: VersionConstraint): VersionConstraint val isAny: Boolean val isEmpty: Boolean }