* SPDX-License-Identifier: AGPL-3.0-or-later */ namespace KTXF\Mail\Provider; use KTXF\Resource\Provider\ResourceProviderServiceMutateInterface; /** * Mail Provider Service Mutate Interface * * Optional interface for providers that support service CRUD operations. * * Implementations return ServiceMutableInterface instances (which extend ResourceServiceMutateInterface). * * @since 2025.05.01 * * @method ServiceMutableInterface serviceFresh() Construct a new blank mail service instance * @method string serviceCreate(string $tenantId, ?string $userId, ServiceMutableInterface $service) Create a mail service configuration * @method string serviceModify(string $tenantId, ?string $userId, ServiceMutableInterface $service) Modify a mail service configuration * @method bool serviceDestroy(string $tenantId, ?string $userId, ServiceMutableInterface $service) Delete a mail service configuration */ interface ProviderServiceMutateInterface extends ProviderBaseInterface, ResourceProviderServiceMutateInterface { public const JSON_TYPE = ProviderBaseInterface::JSON_TYPE; // Methods inherited from ResourceProviderServiceMutateInterface // Implementations should return/accept ServiceMutableInterface instances }