import type { Message, Part } from "@opencode-ai/sdk"; import type { ContextCollector } from "./collector"; interface OutputPart { type: string; text?: string; [key: string]: unknown; } interface InjectionResult { injected: boolean; contextLength: number; } export declare function injectPendingContext(collector: ContextCollector, sessionID: string, parts: OutputPart[]): InjectionResult; interface ChatMessageInput { sessionID: string; agent?: string; model?: { providerID: string; modelID: string; }; messageID?: string; } interface ChatMessageOutput { message: Record; parts: OutputPart[]; } export declare function createContextInjectorHook(collector: ContextCollector): { "chat.message": (input: ChatMessageInput, output: ChatMessageOutput) => Promise; }; interface MessageWithParts { info: Message; parts: Part[]; } type MessagesTransformHook = { "experimental.chat.messages.transform"?: (input: Record, output: { messages: MessageWithParts[]; }) => Promise; }; export declare function createContextInjectorMessagesTransformHook(collector: ContextCollector): MessagesTransformHook; export {};