collection of service id and object ['1' => IServiceObject] */ public function listServices(string $userId): array; /** * retrieve a service with a specific id * * @since 30.0.0 * * @param string $userId user id * @param string $serviceId service id * * @return IService|null returns service object or null if none found */ public function findServiceById(string $userId, string $serviceId): ?IService; /** * retrieve a service for a specific mail address * * @since 30.0.0 * * @param string $userId user id * @param string $address mail address (e.g. test@example.com) * * @return IService|null returns service object or null if none found */ public function findServiceByAddress(string $userId, string $address): ?IService; /** * construct a new empty service object * * @since 30.0.0 * * @return IService blank service object */ public function initiateService(): IService; }