*/ public static function getClassLikeNames(): array { return ['Ns\Foo']; } public static function doesPropertyExist(PropertyExistenceProviderEvent $event): ?bool { $property_name = $event->getPropertyName(); return $property_name === 'magic_property'; } public static function isPropertyVisible(PropertyVisibilityProviderEvent $event): ?bool { return true; } public static function getPropertyType(PropertyTypeProviderEvent $event): ?Union { return Type::getString(); } }