type OpaqueStore = { set: (key: string, value: Record, options?: { expiresIn?: string | number; }) => Promise; /** * Must return `null` once the entry's TTL has passed — expiry is the * store's responsibility, not this package's. */ get: (key: string) => Promise | null>; delete: (key: string) => Promise; }; /** * @typedef {object} MemoryStoreOptions * @property {number} [sweepMs=60000] Interval for the background TTL sweep. */ /** * @param {MemoryStoreOptions} [options] * @returns {import('../index.js').OpaqueStore & { _size: () => number, stop: () => void }} */ declare function memoryStore(options?: MemoryStoreOptions): OpaqueStore & { _size: () => number; stop: () => void; }; type MemoryStoreOptions = { /** * Interval for the background TTL sweep. */ sweepMs?: number | undefined; }; /** * @typedef {object} RedisStoreOptions * @property {string} [keyPrefix='opaque:'] */ /** * @param {any} client * @param {RedisStoreOptions} [options] * @returns {import('../index.js').OpaqueStore} */ declare function redisStore(client: any, options?: RedisStoreOptions): OpaqueStore; type RedisStoreOptions = { keyPrefix?: string | undefined; }; declare const customStore: (impl: object) => Record Promise>; export { customStore, memoryStore, redisStore };