<?php declare( strict_types=1 ); namespace Automattic\WooCommerce\GoogleListingsAndAds\Options; /** * Interface TransientsInterface * * @package Automattic\WooCommerce\GoogleListingsAndAds\Options */ interface TransientsInterface { public const ADS_METRICS = 'ads_metrics'; public const FREE_LISTING_METRICS = 'free_listing_metrics'; public const MC_ACCOUNT_REVIEW = 'mc_account_review'; public const MC_IS_SUBACCOUNT = 'mc_is_subaccount'; public const MC_STATUSES = 'mc_statuses'; public const URL_MATCHES = 'url_matches'; public const VALID_OPTIONS = [ self::ADS_METRICS => true, self::FREE_LISTING_METRICS => true, self::MC_ACCOUNT_REVIEW => true, self::MC_IS_SUBACCOUNT => true, self::MC_STATUSES => true, self::URL_MATCHES => true, ]; /** * Get a transient. * * @param string $name The transient name. * @param mixed $default A default value for the transient. * * @return mixed */ public function get( string $name, $default = null ); /** * Add or update a transient. * * @param string $name The transient name. * @param mixed $value The transient value. * @param int $expiration Time until expiration in seconds. * * @return bool */ public function set( string $name, $value, int $expiration = 0 ): bool; /** * Delete a transient. * * @param string $name The transient name. * * @return bool */ public function delete( string $name ): bool; /** * Returns all available transient keys. * * @return array * * @since 1.3.0 */ public static function get_all_transient_keys(): array; }