import type { AgentAdapter } from './adapter.js'; import type { AdapterRegistry } from './adapter-registry.js'; import type { AgentName } from './types.js'; import type { Session } from './session-types.js'; export interface PersistentSessionAdapterMetadata { readonly sessionDirStrategy?: string; readonly sessionPersistence?: string; readonly pluginTargetId?: string; readonly adapterName?: string; } export interface PersistentSessionAdapter { readonly agent: AgentName; readonly metadata?: PersistentSessionAdapterMetadata; sessionDir(cwd?: string): string; listSessionFiles(cwd?: string): Promise; parseSessionFile(filePath: string): Promise; } export declare class SessionAdapterRegistry { private readonly byAlias; register(adapter: PersistentSessionAdapter, aliases?: readonly string[]): void; get(agentOrAlias: string): PersistentSessionAdapter | undefined; list(): PersistentSessionAdapter[]; resolveUnifiedId(agent: AgentName, nativeSessionId: string): string; resolveNativeId(unifiedId: string): { agent: AgentName; nativeSessionId: string; } | null; } export declare function createLegacySessionAdapter(adapter: AgentAdapter, metadata?: PersistentSessionAdapterMetadata): PersistentSessionAdapter; export declare function registerLegacySessionAdapters(adapters: AdapterRegistry, registry: SessionAdapterRegistry): SessionAdapterRegistry; export declare function createSessionAdapterRegistry(adapters: AdapterRegistry): SessionAdapterRegistry;