import ClientResponse from '~/Contracts/ClientResponse'; import Products from '~/Contracts/Products'; import Recommendation from '~/Contracts/Recommendation'; import Storage from '~/Storage'; import Trending from '~/Trending'; interface Guard { /** * * * @param {Products} products * @param {Storage} storage * @return {Promise} */ boot(products: Products, storage: Storage): Guard; /** * * * @param {ClientResponse} response * @return {boolean} */ check(response: ClientResponse): boolean; /** * * * @param {Recommendation} recommendation * @return {Trending | null} */ contingency(recommendation: Recommendation): Trending | null; /** * * * @return {boolean} */ retry(): boolean; } export default Guard;