/**
 * @file `createTtlCache` — generic TTL-based cache built on top of cacache
 *   (persistent) plus an in-memory LRU memo layer. Two-tier caching: hot data
 *   lives in `memoCache` (Map<string, TtlCacheEntry>) capped at `memoMaxSize`
 *   entries with LRU eviction via Map insertion-order semantics. Persistent
 *   storage uses cacache so cached values survive process restarts. Key
 *   features:
 *
 *   - Per-key namespacing via `prefix` so multiple caches share one cacache
 *     directory without conflicting.
 *   - `getOrFetch` deduplicates concurrent requests for the same key
 *     (thundering-herd protection via `inflightRequests` map).
 *   - Wildcard support for `getAll` / `deleteAll` (single-key methods throw on
 *     `*`).
 *   - Clock-skew detection: entries with suspiciously-far-future `expiresAt` are
 *     treated as expired.
 */
import type { TtlCache, TtlCacheOptions } from './types';
/**
 * Create a TTL-based cache instance.
 *
 * @example
 *   ;```typescript
 *   const cache = createTtlCache({ ttl: 60_000, prefix: 'my-app' })
 *   await cache.set('key', { value: 42 })
 *   const data = await cache.get('key') // { value: 42 }
 *   ```
 */
export declare function createTtlCache(options?: TtlCacheOptions): TtlCache;
