1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\Type;
4:
5: use PHPStan\Turbo\ReferencedByTurboExtension;
6:
7: /**
8: * @api
9: */
10: #[ReferencedByTurboExtension(key: 'typeTraverserCallable')]
11: interface TypeTraverserCallable
12: {
13:
14: /**
15: * @param callable(Type): Type $traverse
16: */
17: public function traverse(Type $type, callable $traverse): Type;
18:
19: }
20: