import { type S3Config } from '../../resource/s3/config.ts'; import { SessionStore, type SessionFields } from './store.ts'; /** * SessionStore backed by per-session S3 objects. * * One object per session at `{keyPrefix}sessions/{session_id}.json` * (the store appends the `sessions/` segment, mirroring the Redis * store's `{keyPrefix}sessions` hash). Conditional writes (If-Match * on the compare-read's ETag) give the same generation-CAS contract * as the Redis Lua script, so the S3 control plane is safe for the * same multi-process sharing. Works on any S3-compatible backend that * honors conditional PUTs. Mirrors the Python S3SessionStore. */ export declare class S3SessionStore extends SessionStore { private readonly records; constructor(config: S3Config); load(): Promise>; set(sessionId: string, fields: SessionFields): Promise; casSet(sessionId: string, fields: SessionFields, expectedGeneration: number): Promise; delete(sessionIds: readonly string[]): Promise; replaceAll(entries: Map): Promise; clear(): Promise; close(): Promise; } //# sourceMappingURL=s3.d.ts.map