/** An in-memory implementation of the browser cache that can be used to test caching strategies in a node environment. */
declare class CacheMock {
    cache: Map<Request, Response>;
    constructor();
    private get;
    private getAll;
    private set;
    /**
     * Takes a URL, retrieves it and adds the resulting response object to the given cache. This is functionally equivalent to calling fetch(), then using put() to add the results to the cache.
     * @param {RequestInfo} request The request to add to the Cache
     * @returns {Promise<void>}
     */
    add(request: RequestInfo): Promise<void>;
    /**
     * Takes an array of URLs, retrieves them, and adds the resulting response objects to the given cache.
     * @param {Array<RequestInfo>} requests An array of requests to add to the cache
     * @returns {Promise<void>}
     */
    addAll(requests: RequestInfo[]): Promise<void>;
    /**
     * Finds the Cache entry whose key is the request, returning a Promise that resolves to true if a matching Cache entry is found and deleted. If no Cache entry is found, the promise resolves to false.
     * @param {RequestInfo} request The request to search for
     * @param {CacheQueryOptions} options Additional options to be condsidered when searching
     * @returns {Promise<boolean>} A boolean value indicating whether the a key was deleted from the cache
     */
    delete(request: RequestInfo, options?: CacheQueryOptions): Promise<boolean>;
    private getRequestUrl;
    /**
     * Returns a Promise that resolves to an array of Cache keys.
     * @param {RequestInfo} request The request to search for
     * @param {CacheQueryOptions} options Additional options to be condsidered when searching
     * @returns {Promise<ReadonlyArray<Request>>} A readonly array of matching cache keys
     */
    keys(request?: RequestInfo, options?: CacheQueryOptions): Promise<ReadonlyArray<Request>>;
    /**
     * Returns a Promise that resolves to the response associated with the first matching request in the Cache object.
     * @param {RequestInfo} request The request to search for
     * @param {CacheQueryOptions} options Additional options to be condsidered when searching
     * @returns {Promise<Response | undefined>} The match found in the cache, if anything has been found
     */
    match(request: RequestInfo, options?: CacheQueryOptions): Promise<Response | undefined>;
    private validateRequest;
    /**
     * Returns a Promise that resolves to an array of all matching requests in the Cache object.
     * @param {RequestInfo} request The request key to match against
     * @param {CacheQueryOptions} options Additional options to be condsidered when searching
     * @returns {Promise<ReadonlyArray<Response>>} A readonly array of matching cache responses
     */
    matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise<ReadonlyArray<Response>>;
    /**
     * Takes both a request and its response and adds it to the given cache.
     * @param {RequestInfo} request The request key to add to the cache
     * @param {Response} response The response value to add to the cache key
     * @returns {Promise<void>}
     */
    put(request: RequestInfo, response: Response): Promise<void>;
}
export default CacheMock;
