import type { RequestInfo, Response, Request } from './fetch' export interface CacheStorage { match (request: RequestInfo, options?: MultiCacheQueryOptions): Promise, has (cacheName: string): Promise, open (cacheName: string): Promise, delete (cacheName: string): Promise, keys (): Promise } declare const CacheStorage: { prototype: CacheStorage new(): CacheStorage } export interface Cache { match (request: RequestInfo, options?: CacheQueryOptions): Promise, matchAll (request?: RequestInfo, options?: CacheQueryOptions): Promise, add (request: RequestInfo): Promise, addAll (requests: RequestInfo[]): Promise, put (request: RequestInfo, response: Response): Promise, delete (request: RequestInfo, options?: CacheQueryOptions): Promise, keys (request?: RequestInfo, options?: CacheQueryOptions): Promise } export interface CacheQueryOptions { ignoreSearch?: boolean, ignoreMethod?: boolean, ignoreVary?: boolean } export interface MultiCacheQueryOptions extends CacheQueryOptions { cacheName?: string } export declare const caches: CacheStorage