import type { CachePolicy } from './cache-store.js'; import type { RequestContext, ResponseContext } from './interceptors.js'; export type CacheSkipReason = 'req_no_store' | 'req_no_cache' | 'req_pragma_no_cache' | 'req_public_scope_auth' | 'resp_non_success' | 'resp_no_store' | 'resp_no_cache' | 'resp_private' | 'resp_set_cookie_shared' | 'resp_vary_star' | 'resp_vary_unsupported' | 'resp_ttl_non_positive' | 'resp_invalid_directive'; export interface RequestCacheDecision { canReadFromCache: boolean; canStoreResponse: boolean; skipReason?: CacheSkipReason; isUnsafeMutationMethod: boolean; requiresRevalidation: boolean; } export interface ResponseCacheDecision { cacheable: boolean; ttlSeconds?: number; skipReason?: CacheSkipReason; requiresRevalidation?: boolean; } interface EvaluateRequestInput { ctx: RequestContext; policy: CachePolicy; sensitiveHeaders: Set; } interface EvaluateResponseInput { response: ResponseContext; policy: CachePolicy; nowMs?: number; } export declare function evaluateRequestCacheDecision(input: EvaluateRequestInput): RequestCacheDecision; export declare function evaluateResponseCacheDecision(input: EvaluateResponseInput): ResponseCacheDecision; export {}; //# sourceMappingURL=cache-policy-evaluator.d.ts.map