--- /dev/null
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Serializer\Normalizer;
+
+/**
+ * Defines the interface of normalizers.
+ *
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ */
+interface NormalizerInterface
+{
+ /**
+ * Normalizes an object into a set of arrays/scalars.
+ *
+ * @param object $object object to normalize
+ * @param string $format format the normalization result will be encoded as
+ * @param array $context Context options for the normalizer
+ *
+ * @return array|scalar
+ */
+ public function normalize($object, $format = null, array $context = array());
+
+ /**
+ * Checks whether the given class is supported for normalization by this normalizer.
+ *
+ * @param mixed $data Data to normalize
+ * @param string $format The format being (de-)serialized from or into
+ *
+ * @return bool
+ */
+ public function supportsNormalization($data, $format = null);
+}