1: <?php declare(strict_types=1);
2:
3: namespace Salient\Contract\Core\Pipeline;
4:
5: use Salient\Contract\Core\ListConformity;
6:
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 array key conformity
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 ListConformity::* $conformity Use {@see ListConformity::COMPLETE}
24: * wherever possible to improve performance.
25: * @return static
26: */
27: public function withConformity($conformity);
28:
29: /**
30: * Get the payload's array key conformity
31: *
32: * @return ListConformity::*
33: */
34: public function getConformity();
35: }
36: