# acymailing/11.0.2/back/Libraries/Sabberworm/CSS/src/RuleSet/RuleContainer.php

AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress, version 11.0.2. 37 lines.

- Page: https://pluginprobe.com/plugins/acymailing/11.0.2/code/back/Libraries/Sabberworm/CSS/src/RuleSet/RuleContainer.php
- Raw: https://pluginprobe.com/plugins/acymailing/11.0.2/raw/back/Libraries/Sabberworm/CSS/src/RuleSet/RuleContainer.php
- Modified: 2026-06-09T07:53:26+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/acymailing/11.0.2/code/back/Libraries/Sabberworm/CSS/src/RuleSet/RuleContainer.php#L10-L20`.

```php
<?php

declare(strict_types=1);

namespace AcyMailing\Libraries\Sabberworm\CSS\RuleSet;

use AcyMailing\Libraries\Sabberworm\CSS\Rule\Rule;

/**
 * Represents a CSS item that contains `Rules`, defining the methods to manipulate them.
 */
interface RuleContainer
{
    public function addRule(Rule $ruleToAdd, ?Rule $sibling = null): void;

    public function removeRule(Rule $ruleToRemove): void;

    public function removeMatchingRules(string $searchPattern): void;

    public function removeAllRules(): void;

    /**
     * @param array<Rule> $rules
     */
    public function setRules(array $rules): void;

    /**
     * @return array<int<0, max>, Rule>
     */
    public function getRules(?string $searchPattern = null): array;

    /**
     * @return array<string, Rule>
     */
    public function getRulesAssoc(?string $searchPattern = null): array;
}

```
