import { EventHandler } from 'h3'; export interface CacheEntry { value?: T; expires?: number; mtime?: number; integrity?: string; } export interface CacheOptions { name?: string; getKey?: (...args: any[]) => string; transform?: (entry: CacheEntry, ...args: any[]) => any; validate?: (entry: CacheEntry) => boolean; group?: string; integrity?: any; maxAge?: number; static?: boolean; swr?: boolean; staleMaxAge?: number; base?: string; } export declare function defineCachedFunction(fn: ((...args: any[]) => T | Promise), opts: CacheOptions): (...args: any[]) => Promise; export declare const cachedFunction: typeof defineCachedFunction; export interface ResponseCacheEntry { body: T; code: number; headers: Record; } export interface CachedEventHandlerOptions extends Omit>, 'getKey' | 'transform' | 'validate'> { headersOnly?: boolean; } export declare function defineCachedEventHandler(handler: EventHandler, opts?: CachedEventHandlerOptions): EventHandler; export declare const cachedEventHandler: typeof defineCachedEventHandler;