import type { RecoveryConfig, RecoveryErrorCategory } from "./types.ts"; import { RecoveryStateStore } from "./state.ts"; import { PatternRegistry } from "./error-detection.ts"; import { StrategyRegistry } from "./strategies/registry.ts"; import type { ISessionClient } from "../platform/ports/session-client.ts"; export interface RecoveryEngineDeps { /** Map of pending corrections keyed by sessionID — used for prompt injection */ pendingCorrections: Map; /** Platform-agnostic session client for strategies that need API access */ client?: ISessionClient; } export declare class RecoveryEngine { private config; private stateStore; private metrics; private patternRegistry; private strategyRegistry; private chainExecutor; private deps; constructor(config: RecoveryConfig, stateStore: RecoveryStateStore, deps: RecoveryEngineDeps); /** * Attempt to recover from an error. * @param sessionID The session that encountered the error * @param error The error to recover from * @param category Optional explicit category; auto-detected if not provided * @returns Recovery outcome */ recover(sessionID: string, error: unknown, category?: RecoveryErrorCategory): Promise<{ recovered: boolean; message?: string; }>; registerStrategy(strategy: import("./types.ts").RecoveryStrategy): void; registerErrorPattern(pattern: import("./types.ts").ErrorPattern): void; getMetrics(): import("./types.ts").RecoveryMetricsSnapshot; getPatternRegistry(): PatternRegistry; getStrategyRegistry(): StrategyRegistry; dispose(): Promise; } //# sourceMappingURL=engine.d.ts.map