import type { AgentAdapter } from './types.js';
export interface DistillationInput {
    /** The IM platform (telegram / wechat / ...). */
    platform: string;
    /** The IM user id (the human). Used as the memory partition key. */
    userId: string;
    /** The user's prompt that triggered the agent. */
    userMessage: string;
    /** The agent's reply text. */
    agentReply: string;
    /** The agent that produced the reply. Used for the extraction call. */
    agent: AgentAdapter;
    /** Optional: tracing id linking the extraction back to its source turn. */
    traceId?: string;
    /** Optional: only run distillation when the reply or message reaches a
     *  minimum length. Skips trivial exchanges like "ok" / "thanks". */
    minLen?: number;
}
/**
 * Run extraction synchronously. Returns the number of facts saved (or 0).
 * Errors are caught and logged; never thrown to the caller.
 */
export declare function runDistillation(input: DistillationInput): Promise<number>;
/**
 * Fire-and-forget wrapper. Schedules runDistillation() on the next tick so
 * the caller doesn't block. Returns immediately. Use this from router/cli
 * post-reply hooks.
 */
export declare function scheduleDistillation(input: DistillationInput): void;
//# sourceMappingURL=memory-distill.d.ts.map