import { type FrontMcpLogger } from '../../common/interfaces/logger.interface'; import { type JobExecutionState, type JobRunRecord, type JobStateStore, type WorkflowRunRecord } from './job-state.interface'; /** Minimal Redis client interface covering operations used by this store. */ export interface RedisStateStoreLike { get(key: string): Promise; set(key: string, value: string, ...args: (string | number)[]): Promise; del(key: string | string[]): Promise; sadd(key: string, ...members: string[]): Promise; srem(key: string, ...members: string[]): Promise; smembers(key: string): Promise; keys(pattern: string): Promise; } /** * Redis implementation of JobStateStore. * Uses Redis hashes with TTL for production deployments. */ export declare class RedisJobStateStore implements JobStateStore { private readonly client; private readonly keyPrefix; private readonly logger; private readonly ttlSeconds; constructor(client: RedisStateStoreLike, logger: FrontMcpLogger, keyPrefix?: string, ttlSeconds?: number); private key; private indexKey; createRun(record: JobRunRecord | WorkflowRunRecord): Promise; updateRun(runId: string, updates: Partial): Promise; getRun(runId: string): Promise; listRuns(opts?: { jobId?: string; sessionId?: string; state?: JobExecutionState; limit?: number; }): Promise<(JobRunRecord | WorkflowRunRecord)[]>; cleanup(olderThanMs: number): Promise; dispose(): Promise; } //# sourceMappingURL=redis-job-state.store.d.ts.map