import { type ManagedSessionState, type NativeThreadTransition } from "./managed-session.js"; export interface ManagedSessionPaths { directory: string; statePath: string; } export interface NativeThreadTransitionPaths { directory: string; statePath: string; } export interface ManagedSessionSaveOptions { /** `null` means create-only; a number is the exact revision to replace. */ expectedRevision: number | null; } export interface NativeThreadTransitionSaveOptions { /** `null` means create-only; a number is the exact revision to replace. */ expectedRevision: number | null; } export declare class ManagedSessionConflictError extends Error { readonly code = "AKK_MANAGED_SESSION_CONFLICT"; readonly sessionId: string; readonly expectedRevision: number | null; readonly actualRevision: number | null; constructor(sessionId: string, expectedRevision: number | null, actualRevision: number | null, detail?: string); } export declare class ManagedSessionStateMissingError extends Error { readonly code = "AKK_MANAGED_SESSION_STATE_MISSING"; readonly sessionId: string; constructor(sessionId: string); } export declare class ManagedSessionNativeThreadConflictError extends Error { readonly code = "AKK_MANAGED_SESSION_NATIVE_THREAD_CONFLICT"; readonly sessionId: string; readonly nativeThreadId: string; readonly conflictingSessionIds: readonly string[]; constructor(sessionId: string, nativeThreadId: string, conflictingSessionIds: readonly string[]); } export declare class NativeThreadTransitionConflictError extends Error { readonly code = "AKK_NATIVE_THREAD_TRANSITION_CONFLICT"; readonly transitionId: string; readonly expectedRevision: number | null; readonly actualRevision: number | null; constructor(transitionId: string, expectedRevision: number | null, actualRevision: number | null, detail?: string); } export declare function managedSessionsDir(storeDir: string): string; export declare function nativeThreadTransitionsDir(storeDir: string): string; export declare function pathsForManagedSession(sessionId: string, storeDir: string): ManagedSessionPaths; export declare function pathsForNativeThreadTransition(transitionId: string, storeDir: string): NativeThreadTransitionPaths; /** * Create or compare-and-swap an authoritative Session record. Callers must use * the returned value (and its incremented revision) for a later update. */ export declare function saveManagedSession(storeDir: string, state: ManagedSessionState, options: ManagedSessionSaveOptions): ManagedSessionState; export declare function loadManagedSession(storeDir: string, sessionId: string): ManagedSessionState; export declare function tryLoadManagedSession(storeDir: string, sessionId: string): ManagedSessionState | undefined; export declare function listManagedSessions(storeDir: string): ManagedSessionState[]; export declare function saveNativeThreadTransition(storeDir: string, transition: NativeThreadTransition, options: NativeThreadTransitionSaveOptions): NativeThreadTransition; export declare function loadNativeThreadTransition(storeDir: string, transitionId: string): NativeThreadTransition; export declare function listNativeThreadTransitions(storeDir: string): NativeThreadTransition[]; export declare function commitVerifiedLifecycleTransition(storeDir: string, transition: NativeThreadTransition, now: string): ManagedSessionState;