{"version":3,"file":"ioredis.d.ts","names":["Redis","BaseStore","RedisByteStore","Uint8Array","ArrayBufferLike","Buffer","Promise","AsyncGenerator"],"sources":["../../src/storage/ioredis.d.ts"],"sourcesContent":["import type { Redis } from \"ioredis\";\nimport { BaseStore } from \"@langchain/core/stores\";\n/**\n * Class that extends the BaseStore class to interact with a Redis\n * database. It provides methods for getting, setting, and deleting data,\n * as well as yielding keys from the database.\n * @example\n * ```typescript\n * const store = new RedisByteStore({ client: new Redis({}) });\n * await store.mset([\n *   [\n *     \"message:id:0\",\n *     new TextEncoder().encode(JSON.stringify(new AIMessage(\"ai stuff...\"))),\n *   ],\n *   [\n *     \"message:id:1\",\n *     new TextEncoder().encode(\n *       JSON.stringify(new HumanMessage(\"human stuff...\")),\n *     ),\n *   ],\n * ]);\n * const retrievedMessages = await store.mget([\"message:id:0\", \"message:id:1\"]);\n * console.log(retrievedMessages.map((v) => new TextDecoder().decode(v)));\n * const yieldedKeys = [];\n * for await (const key of store.yieldKeys(\"message:id:\")) {\n *   yieldedKeys.push(key);\n * }\n * console.log(yieldedKeys);\n * await store.mdelete(yieldedKeys);\n * ```\n */\nexport declare class RedisByteStore extends BaseStore<string, Uint8Array> {\n    lc_namespace: string[];\n    protected client: Redis;\n    protected ttl?: number;\n    protected namespace?: string;\n    protected yieldKeysScanBatchSize: number;\n    constructor(fields: {\n        client: Redis;\n        ttl?: number;\n        namespace?: string;\n        yieldKeysScanBatchSize?: number;\n    });\n    _getPrefixedKey(key: string): string;\n    _getDeprefixedKey(key: string): string;\n    /**\n     * Gets multiple keys from the Redis database.\n     * @param keys Array of keys to be retrieved.\n     * @returns An array of retrieved values.\n     */\n    mget(keys: string[]): Promise<(Buffer<ArrayBufferLike> | undefined)[]>;\n    /**\n     * Sets multiple keys in the Redis database.\n     * @param keyValuePairs Array of key-value pairs to be set.\n     * @returns Promise that resolves when all keys have been set.\n     */\n    mset(keyValuePairs: [string, Uint8Array][]): Promise<void>;\n    /**\n     * Deletes multiple keys from the Redis database.\n     * @param keys Array of keys to be deleted.\n     * @returns Promise that resolves when all keys have been deleted.\n     */\n    mdelete(keys: string[]): Promise<void>;\n    /**\n     * Yields keys from the Redis database.\n     * @param prefix Optional prefix to filter the keys.\n     * @returns An AsyncGenerator that yields keys from the Redis database.\n     */\n    yieldKeys(prefix?: string): AsyncGenerator<string>;\n}\n//# sourceMappingURL=ioredis.d.ts.map"],"mappings":";;;;;;;AA+BA;;;;;;;;;;;;AAAqD;;;;;;;;;;;;;;;cAAhCE,cAAAA,SAAuBD,kBAAkBE;;oBAExCH;;;;;YAKNA;;;;;;;;;;;;wBAYUM,SAASD,OAAOD;;;;;;+BAMTD,gBAAgBG;;;;;;2BAMpBA;;;;;;8BAMGC"}