import { RedisClientLike } from "../contracts/orchestrator/snapshot-store.contract.mjs"; import { CheckpointStore } from "../contracts/orchestrator/checkpoint-store.contract.mjs"; //#region ../ai/src/checkpoint/redis.d.ts /** * Options for the Redis {@link CheckpointStore} (orchestrator.md §8.3). * * The dev owns the connection — `@warlock.js/ai` takes no peer dep on * `redis` and never opens or closes the client. */ type RedisCheckpointOptions = { /** An already-connected `redis` client — anything matching {@link RedisClientLike}. */client: RedisClientLike; /** * Key prefix for every key this store writes. Lets one Redis database * back multiple stores without collision. Defaults to * `warlock:orchestrator`. */ prefix?: string; /** Idle-key TTL in seconds. When set, every written key expires after the TTL. */ ttl?: number; }; /** * Create a Redis-backed {@link CheckpointStore} (orchestrator.md §8.3). * The dev installs `redis` and passes a connected client — * `@warlock.js/ai` never imports `redis`. {@link CheckpointStore.schema} * returns an empty string; Redis needs no migration. * * @example * import { createClient } from "redis"; * import { ai } from "@warlock.js/ai"; * * const client = createClient(); * await client.connect(); * * const store = ai.checkpoint.redis({ client }); */ declare function redis(options: RedisCheckpointOptions): CheckpointStore; //#endregion export { RedisCheckpointOptions, redis }; //# sourceMappingURL=redis.d.mts.map