import { type LocalAgent, type Plugin, type SnapshotStorage } from "@strands-agents/sdk"; export type LazySessionManagerConfig = { /** Pluggable snapshot backend (e.g. `FileStorage`). */ storage: SnapshotStorage; /** Fallback session id when `appState` does not provide one. Defaults to `"default-session"`. */ defaultSessionId?: string; /** `appState` key used to derive the active session id. Defaults to `"sessionId"`. */ appStateKey?: string; /** Scope id passed through to the storage backend. Defaults to `"agent"`. */ scopeId?: string; }; /** * Short-term memory plugin that resolves the active session id at invocation * time from `agent.appState` instead of binding it once at construction. * * Designed for long-lived agents that fan out to many independent * conversations (e.g. a daemon routing notifications from multiple chat * channels). Persistence is delegated to a `SnapshotStorage` so any backend * (filesystem, S3, custom) works. */ export declare class LazySessionManager implements Plugin { private readonly storage; private readonly defaultSessionId; private readonly appStateKey; private readonly scopeId; constructor(config: LazySessionManagerConfig); get name(): string; initAgent(agent: LocalAgent): void; /** Removes the persisted history for the given session, if present. */ deleteSession(sessionId: string): Promise; private location; private resolveSessionId; private restore; private save; private captureRuntimeState; private restoreRuntimeState; }