1: <?php declare(strict_types=1);
2:
3: namespace Salient\Contract\Core;
4:
5: use Closure;
6:
7: /**
8: * @api
9: */
10: interface NormaliserFactory
11: {
12: /**
13: * Get a closure that normalises the name of a property of the class
14: *
15: * Arguments after `$name` may be ignored. If `$greedy` is honoured, it
16: * should be `true` by default.
17: *
18: * @return Closure(string $name, bool $greedy=, string...$hints): string
19: */
20: public static function getNormaliser(): Closure;
21: }
22: