import type { ObservationRepository } from "../db/observations"; import type { SessionRepository } from "../db/sessions"; export interface ChatCaptureInput { observations: ObservationRepository; sessions: SessionRepository; projectPath: string; sessionId: string; text: string; agent?: string; sensitivePatterns?: string[]; } /** Shared capture path for chat messages across platforms. */ export declare function persistChatMessage(input: ChatCaptureInput): boolean; /** * Factory for the `chat.message` hook. * * Captures user messages as searchable observations so the "why" * behind tool executions is preserved in memory. * * The handler NEVER throws — errors are caught and logged. */ export declare function createChatCaptureHook(observations: ObservationRepository, sessions: SessionRepository, projectPath: string, sensitivePatterns?: string[]): (input: { sessionID: string; agent?: string; model?: string | { providerID: string; modelID: string; }; messageID?: string; variant?: string; }, output: { message: unknown; parts: unknown[]; }) => Promise; //# sourceMappingURL=chat-capture.d.ts.map