import type { PluginInput } from '@opencode-ai/plugin'; import type { OpencodeClient } from '@opencode-ai/sdk/v2'; import type { LoopService } from '../services/loop'; import type { Logger, PluginConfig } from '../types'; import type { SessionRecoveryManager } from '../runtime/session-recovery'; import type { TelemetryCollector } from '../runtime/telemetry'; import type { createSandboxManager } from '../sandbox/manager'; export interface LoopEventHandler { onEvent(input: { event: { type: string; properties?: Record; }; }): Promise; terminateAll(): void; clearAllRetryTimeouts(): void; startWatchdog(loopName: string): void; getStallInfo(loopName: string): { consecutiveStalls: number; lastActivityTime: number; } | null; cancelBySessionId(sessionId: string): Promise; } export declare function createLoopEventHandler(loopService: LoopService, _client: PluginInput['client'], v2Client: OpencodeClient, logger: Logger, getConfig: () => PluginConfig, sandboxManager?: ReturnType, projectId?: string, dataDir?: string, recoveryManager?: SessionRecoveryManager, telemetry?: TelemetryCollector): LoopEventHandler; //# sourceMappingURL=loop.d.ts.map