import { DataAdapters, CacheAdapter } from "@authhero/adapter-interfaces";
/**
 * Configuration options for the cache wrapper
 */
export interface CacheOptions {
    /** Default TTL in seconds for cached items */
    defaultTtl: number;
    /** Custom TTLs for specific adapter methods (in seconds) */
    customTtls?: Record<string, number>;
    /** Methods to exclude from caching (e.g., ["users:update", "sessions:create"]) */
    excludeMethods?: string[];
    /** List of adapter entities to cache (if empty, all entities are cached) */
    cacheEntities?: string[];
    /** Cache adapter implementation */
    cache: CacheAdapter;
    /** Key prefix to ensure cache isolation (e.g., tenant ID) */
    keyPrefix?: string;
}
/**
 * Adds caching to data adapter methods using the new CacheAdapter interface
 * This wraps each method of the data adapter to cache its results based on input parameters
 */
export declare function addCaching(data: DataAdapters, options: CacheOptions): DataAdapters;
