1<?php 2 3declare(strict_types=1); 4 5/* 6 * This file is part of the league/commonmark package. 7 * 8 * (c) Colin O'Dell <colinodell@gmail.com> 9 * 10 * Original code based on the CommonMark JS reference parser (https://bitly.com/commonmark-js) 11 * - (c) John MacFarlane 12 * 13 * For the full copyright and license information, please view the LICENSE 14 * file that was distributed with this source code. 15 */ 16 17namespace League\CommonMark\Delimiter; 18 19use League\CommonMark\Node\Inline\AbstractStringContainer; 20 21interface DelimiterInterface 22{ 23 public function canClose(): bool; 24 25 public function canOpen(): bool; 26 27 public function isActive(): bool; 28 29 public function setActive(bool $active): void; 30 31 public function getChar(): string; 32 33 public function getIndex(): ?int; 34 35 public function getNext(): ?DelimiterInterface; 36 37 public function setNext(?DelimiterInterface $next): void; 38 39 public function getLength(): int; 40 41 public function setLength(int $length): void; 42 43 public function getOriginalLength(): int; 44 45 public function getInlineNode(): AbstractStringContainer; 46 47 public function getPrevious(): ?DelimiterInterface; 48 49 public function setPrevious(?DelimiterInterface $previous): void; 50} 51