1: <?php declare(strict_types=1);
2:
3: namespace Salient\Contract\Core\Pipeline;
4:
5: /**
6: * @api
7: *
8: * @template TInput
9: * @template TOutput
10: * @template TArgument
11: *
12: * @extends BasePipelineInterface<TInput,TOutput,TArgument>
13: */
14: interface PayloadPipelineInterface extends BasePipelineInterface
15: {
16: /**
17: * Set the payload's conformity level
18: *
19: * `$conformity` is passed to any array key mappers added to the pipeline
20: * with {@see BasePipelineInterface::throughKeyMap()}. It has no effect
21: * otherwise.
22: *
23: * @param BasePipelineInterface::* $conformity Use
24: * {@see BasePipelineInterface::CONFORMITY_COMPLETE} wherever possible to
25: * improve performance.
26: * @return static
27: */
28: public function withConformity(int $conformity);
29:
30: /**
31: * Get the payload's conformity level
32: *
33: * @return BasePipelineInterface::*
34: */
35: public function getConformity(): int;
36: }
37: