import type { PluginInput } from '@opencode-ai/plugin'; import type { GoalConfig } from './types'; interface MessagePart { type?: string; text?: string; [key: string]: unknown; } interface ChatTransformMessage { info: { role?: string; agent?: string; sessionID?: string; }; parts: MessagePart[]; } export declare function createGoalManager(ctx: PluginInput, config?: GoalConfig): { registerCommand: (opencodeConfig: Record) => void; handleCommandExecuteBefore: (input: { command: string; sessionID: string; arguments: string; }, output: { parts: Array<{ type: string; text?: string; }>; }) => Promise; handleMessagesTransform: (output: { messages: ChatTransformMessage[]; }) => Promise; handleEvent: (input: { event: { type: string; properties?: Record; }; }) => Promise; hasActiveGoal: (sessionID: string) => boolean; hasRunningGoal: (sessionID: string) => boolean; }; export type GoalManager = ReturnType; export {};