<?php
declare(strict_types=1);

namespace Oscar\MailEngine\Sieve;

interface SieveInterface
{
    // ... existing methods ...

    /**
     * List all rules for an account.
     * @return array<array{id: string, name: string, conditions: array, actions: array, enabled: bool}>
     */
    public function listRules(string $accountId): array;

    /**
     * Test a rule against a message.
     * @return array{matched: bool, action_taken: ?string}
     */
    public function testRule(string $ruleId, string $messageId, string $accountId): array;
}