import type { CacheAdapter } from '../config/types.js';
export interface CacheEntry<T = unknown> {
    value: T;
    tags: string[];
    expiresAt?: number;
}
/** Wrap a computation with tag-based caching. */
export declare function cached<T>(adapter: CacheAdapter, key: string, tags: string[], ttl: number, fn: () => Promise<T>): Promise<T>;
/** Invalidate all cache entries associated with a tag. */
export declare function revalidateTag(adapter: CacheAdapter, tag: string): Promise<void>;
/** Build a cache key from a collection, operation, and parameters. */
export declare function buildCacheKey(collection: string, operation: string, params?: Record<string, unknown>): string;
/** Get the standard cache tags for a document. */
export declare function getDocumentCacheTags(collection: string, documentId?: string): string[];
//# sourceMappingURL=index.d.ts.map