import type { Context } from "../../context.ts"; import type { ForkOptions, Session, SessionRepo } from "../types.ts"; import { type JsonlSessionCreateOptions, type JsonlSessionListOptions, type JsonlSessionMetadata, type JsonlSessionRepoOptions } from "./types.ts"; /** File-backed format-4 session repository lifecycle. */ export declare class JsonlSessionRepo implements SessionRepo { private readonly fileSystem; private readonly sessionsRootInput; private readonly now; private readonly openSessions; private readonly pendingCreates; private closed; private closePromise; constructor(options: JsonlSessionRepoOptions); create(options: JsonlSessionCreateOptions, context: Context): Promise>; open(metadata: JsonlSessionMetadata, context: Context): Promise>; list(options: JsonlSessionListOptions | undefined, context: Context): Promise; delete(metadata: JsonlSessionMetadata, context: Context): Promise; fork(source: JsonlSessionMetadata, options: ForkOptions, context: Context): Promise>; close(_context: Context): Promise; private resolveCreateDestination; private listDirectory; private readSessionMetadata; private sessionDirectories; private sessionDirectory; private resolveNewSessionPath; private assertSessionIdAvailable; private loadClosedForkSourceSnapshot; private publishOpenSession; private sessionKey; private loadStorage; private root; private assertOpen; } //# sourceMappingURL=repo.d.ts.map