* SPDX-License-Identifier: AGPL-3.0-or-later */ namespace KTXF\Resource\Provider; use JsonSerializable; /** * Resource Service Location Interface * * Unified interface supporting both URI-based (API services) and socket-based * (traditional IMAP/SMTP) connection configurations. * * @since 2025.05.01 */ interface ResourceServiceLocationInterface extends JsonSerializable { public const TYPE_URI = 'URI'; public const TYPE_SOCKET_SOLE = 'SOCKET_SOLE'; public const TYPE_SOCKET_SPLIT = 'SOCKET_SPLIT'; public const TYPE_FILE = 'FILE'; /** * Gets the service location type * * @since 2025.05.01 * * @return string One of: TYPE_URI, TYPE_SOCKET_SOLE, TYPE_SOCKET_SPLIT, TYPE_FILE */ public function type(): string; }