import { CacheHandler, CacheHandlerValue, CacheHandlerContext } from "next/dist/server/lib/incremental-cache"; import { IncrementalCacheValue, GetIncrementalFetchCacheContext, GetIncrementalResponseCacheContext, SetIncrementalFetchCacheContext, SetIncrementalResponseCacheContext } from "next/dist/server/response-cache"; interface S3CacheConfig { bucketName: string; region: string; buildId: string; } interface DynamoDBRevalidationConfig { tableName: string; region: string; buildId: string; } export interface S3CacheHandlerOptions { context: CacheHandlerContext; s3Config?: Partial; dynamoConfig?: Partial; } export declare class S3CacheHandler implements CacheHandler { private s3Client; private dynamoClient; private s3Config; private dynamoConfig; private debug; constructor(options: S3CacheHandlerOptions); get(cacheKey: string, ctx: GetIncrementalFetchCacheContext | GetIncrementalResponseCacheContext): Promise; set(cacheKey: string, data: IncrementalCacheValue | null, ctx: SetIncrementalFetchCacheContext | SetIncrementalResponseCacheContext): Promise; revalidateTag(tag: string | string[]): Promise; private revalidateSingleTag; resetRequestCache(): Promise; private buildS3Key; private storeDynamoDBTagMappings; private checkIfRevalidated; private deleteS3Entry; } export {};