1: <?php
2:
3: namespace Chromabits\Nucleus\Data\Interfaces;
4:
5: /**
6: * Interface MapInterface
7: *
8: * @author Eduardo Trujillo <ed@chromabits.com>
9: * @package Chromabits\Nucleus\Data\Interfaces
10: */
11: interface MapInterface extends ReadMapInterface, IterableInterface
12: {
13: //
14: /**
15: * Return a new Map of the same type containing the added key.
16: *
17: * @param string $key
18: * @param mixed $value
19: *
20: * @return static
21: */
22: public function insert($key, $value);
23:
24: /**
25: * Return a new Map of the same type without the specified key.
26: *
27: * @param string $key
28: *
29: * @return static
30: */
31: public function delete($key);
32: }
33: