1: <?php declare(strict_types=1);
2:
3: namespace Salient\Contract\Core\Pipeline;
4:
5: /**
6: * @template TInput
7: * @template TOutput
8: * @template TArgument
9: *
10: * @extends PayloadPipelineInterface<TInput,TOutput,TArgument>
11: */
12: interface EntityPipelineInterface extends PayloadPipelineInterface
13: {
14: /**
15: * Run the pipeline and return the result
16: *
17: * @return TOutput
18: */
19: public function run();
20:
21: /**
22: * Run the pipeline and pass the result to another pipeline
23: *
24: * @template TNextOutput
25: *
26: * @param PipelineInterface<TOutput,TNextOutput,TArgument> $next
27: * @return EntityPipelineInterface<TOutput,TNextOutput,TArgument>
28: */
29: public function runInto(PipelineInterface $next);
30: }
31: