0. * * @throws InvalidArgumentException When `$ttlSeconds` is non-positive. */ public function put( string $key, ProviderHealthStatus $status, int $ttlSeconds ): void; /** * Remove the entry stored under `$key`. * * Idempotent: a call against an unknown key is a no-op. * * @param string $key Cache key. */ public function forget( string $key ): void; /** * Drop every entry stored in this cache layer. * * Scope is the layer instance, not the underlying store; if * an implementation shares storage with another layer, the * shared backend MUST still partition entries so flushing * one layer does not also drop a sibling layer's entries. */ public function flush(): void; }