import type { SessionRepository } from "../db/sessions";
import type { QueueProcessor } from "../queue/processor";
import type { OpenMemConfig } from "../types";
export interface ToolCaptureInput {
config: OpenMemConfig;
queue: QueueProcessor;
sessions: SessionRepository;
projectPath: string;
tool: string;
sessionId: string;
callId: string;
toolOutput: string;
}
/** Shared capture path for any platform tool-execution event. */
export declare function enqueueToolCapture(input: ToolCaptureInput): boolean;
/**
* Factory for the `tool.execute.after` hook.
*
* On every tool execution the hook:
* 1. Filters out ignored tools and short/empty outputs
* 2. Redacts content matching sensitive patterns
* 3. Strips `...` blocks
* 4. Ensures the session exists in the DB
* 5. Enqueues the output for async AI compression
*
* The handler NEVER throws — errors are caught and logged.
*/
export declare function createToolCaptureHook(config: OpenMemConfig, queue: QueueProcessor, sessions: SessionRepository, projectPath: string): (input: {
tool: string;
sessionID: string;
callID: string;
}, output: {
title: string;
output: string;
metadata: Record;
}) => Promise;
//# sourceMappingURL=tool-capture.d.ts.map