import type { PluginInput } from "@opencode-ai/plugin"; import type { ChorusMcpClient } from "../chorus/mcp-client"; import type { StateStore } from "../state/state-store"; import type { SseNotificationEvent } from "./sse-listener"; type Logger = { debug(message: string, extra?: Record): Promise; info(message: string, extra?: Record): Promise; warn(message: string, extra?: Record): Promise; error(message: string, extra?: Record): Promise; }; type NotificationCoordinatorOptions = { chorusUrl: string; apiKey: string; projectUuids?: string[]; enableNotificationHints: boolean; directory: string; stateStore: StateStore; chorusClient: ChorusMcpClient; client: PluginInput["client"]; logger: Logger; }; export declare class NotificationCoordinator { private readonly options; private listener; private drainPromise; private started; constructor(options: NotificationCoordinatorOptions); start(): Promise; stop(): void; handleSseEvent(event: SseNotificationEvent): Promise; handleSessionReady(sessionId: string): Promise; handleSessionIdle(sessionId: string): Promise; private catchUpNotifications; private drain; private performDrain; private updateRuntimeStatus; private readLatestNotificationCreatedAt; private recordNotificationProgress; private evaluateScope; private recordScopeEvaluation; private showToast; } export {};