* SPDX-License-Identifier: AGPL-3.0-or-later */ namespace KTXF\Mail\Object; use KTXF\Json\JsonSerializable; /** * Message Part Interface * * Represents a MIME part of a message (body, attachment, etc.) * * @since 2025.05.01 */ interface MessagePartInterface extends JsonSerializable { /** * Gets the blob identifier * * @since 2025.05.01 * * @return string|null */ public function getBlobId(): ?string; /** * Gets the part identifier * * @since 2025.05.01 * * @return string|null */ public function getId(): ?string; /** * Gets the MIME type * * @since 2025.05.01 * * @return string|null */ public function getType(): ?string; /** * Gets the content disposition (inline, attachment) * * @since 2025.05.01 * * @return string|null */ public function getDisposition(): ?string; /** * Gets the part name * * @since 2025.05.01 * * @return string|null */ public function getName(): ?string; /** * Gets the character set * * @since 2025.05.01 * * @return string|null */ public function getCharset(): ?string; /** * Gets the language * * @since 2025.05.01 * * @return string|null */ public function getLanguage(): ?string; /** * Gets the location * * @since 2025.05.01 * * @return string|null */ public function getLocation(): ?string; /** * Gets the sub-parts * * @since 2025.05.01 * * @return array */ public function getParts(): array; }