{"version":3,"file":"base.d.cts","names":["SerializerProtocol","CacheNamespace","CacheFullKey","BaseCache","V","Promise"],"sources":["../../src/cache/base.d.ts"],"sourcesContent":["import { SerializerProtocol } from \"../serde/base.js\";\nexport type CacheNamespace = string[];\nexport type CacheFullKey = [namespace: CacheNamespace, key: string];\nexport declare abstract class BaseCache<V = unknown> {\n    serde: SerializerProtocol;\n    /**\n     * Initialize the cache with a serializer.\n     *\n     * @param serde - The serializer to use.\n     */\n    constructor(serde?: SerializerProtocol);\n    /**\n     * Get the cached values for the given keys.\n     *\n     * @param keys - The keys to get.\n     */\n    abstract get(keys: CacheFullKey[]): Promise<{\n        key: CacheFullKey;\n        value: V;\n    }[]>;\n    /**\n     * Set the cached values for the given keys and TTLs.\n     *\n     * @param pairs - The pairs to set.\n     */\n    abstract set(pairs: {\n        key: CacheFullKey;\n        value: V;\n        ttl?: number;\n    }[]): Promise<void>;\n    /**\n     * Delete the cached values for the given namespaces.\n     * If no namespaces are provided, clear all cached values.\n     *\n     * @param namespaces - The namespaces to clear.\n     */\n    abstract clear(namespaces: CacheNamespace[]): Promise<void>;\n}\n"],"mappings":";;;KACYC,cAAAA;KACAC,YAAAA,eAA2BD;AAD3BA,uBAEkBE,SAFJ,CAAA,IAAA,OAAA,CAAA,CAAA;EACdD,KAAAA,EAEDF,kBAFa;EACMG;;;;;aAcjBD,CAAAA,KAAAA,CAAAA,EAPWF,kBAOXE;;;;;;WAmBkBD,GAAAA,CAAAA,IAAAA,EApBRC,YAoBQD,EAAAA,CAAAA,EApBSI,OAoBTJ,CAAAA;IAAmBI,GAAAA,EAnBrCH,YAmBqCG;WAlBnCD;;;;;;;;SAQFF;WACEE;;QAELC;;;;;;;6BAOqBJ,mBAAmBI"}