1: <?php declare(strict_types=1);
2:
3: namespace Salient\Contract\Console\Format;
4:
5: use Salient\Contract\Console\HasMessageType;
6: use Salient\Contract\Console\HasMessageTypes;
7: use Salient\Contract\HasMessageLevel;
8: use Salient\Contract\HasMessageLevels;
9:
10: /**
11: * @api
12: */
13: interface FormatInterface extends
14: HasTag,
15: HasMessageLevel,
16: HasMessageLevels,
17: HasMessageType,
18: HasMessageTypes
19: {
20: /**
21: * Format a string
22: *
23: * @param TagAttributesInterface|MessageAttributesInterface|null $attributes
24: */
25: public function apply(string $string, $attributes = null): string;
26: }
27: