Files
provider_imap/lib/Client/ClientInterface.php
T
Sebastian 9a86292bcf refactor: re-organize files
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
2026-09-25 11:32:25 -04:00

32 lines
846 B
PHP

<?php
declare(strict_types=1);
namespace KTXM\ProviderImap\Client;
use KTXM\ProviderImap\Client\Protocol\Command\CommandInterface;
use KTXM\ProviderImap\Client\Protocol\Command\Argument\MessageTarget;
interface ClientInterface
{
public function connect(ConnectionConfig $config): void;
/**
* @return list<string>
*/
public function capabilities(): array;
/**
* @template TResult
* @param CommandInterface<TResult> $command
* @return TResult
*/
public function perform(CommandInterface $command): mixed;
/**
* Stream the raw bytes of a single IMAP BODY section without buffering.
*
* @return \Generator<string> raw (transfer-encoded) bytes from the socket
*/
public function download(MessageTarget $target, string $section, int $chunkSize = 8192): \Generator;
}