1: <?php declare(strict_types=1);
2:
3: namespace Salient\Contract\Console\Format;
4:
5: use Salient\Contract\Core\Immutable;
6:
7: /**
8: * @api
9: */
10: interface TagAttributesInterface extends
11: Immutable,
12: HasTag
13: {
14: /**
15: * Get the tag
16: *
17: * @return TagAttributesInterface::TAG_*
18: */
19: public function getTag(): int;
20:
21: /**
22: * Get the tag as it originally appeared in the string
23: */
24: public function getOpenTag(): string;
25:
26: /**
27: * Get the depth of the tag
28: */
29: public function getDepth(): int;
30:
31: /**
32: * Check if the tag has nested tags
33: */
34: public function hasChildren(): bool;
35:
36: /**
37: * Get horizontal whitespace before the tag, or null if the tag is not a
38: * fenced code block
39: */
40: public function getIndent(): ?string;
41:
42: /**
43: * Get the tag's info string, or null if the tag is not a fenced code block
44: */
45: public function getInfoString(): ?string;
46: }
47: