export type ReflectionInput = {
    userMessage: string;
    assistantReply: string;
    toolCalls: ReadonlyArray<{
        name: string;
        ok?: boolean;
        errorText?: string;
    }>;
    sessionId: string;
};
export type ReflectionVerdict = {
    score: "good" | "ok" | "poor";
    reasons: string[];
    toolErrorPatterns: string[];
};
/**
 * Cheap heuristic scoring. No model call. Spots common low-quality patterns:
 *   - reply much longer than user message but user is terse
 *   - reply contains a tool error string verbatim (= didn't recover)
 *   - reply opens with classic preamble while user is curt
 *   - tool errors > tool successes in this turn
 */
export declare function scoreReplyHeuristic(input: ReflectionInput): ReflectionVerdict;
/**
 * Run reflection. Logs poor verdicts to the failure-mining store so the
 * curator can convert recurring patterns into anti-skills.
 *
 * Fire-and-forget — no return value, no throws.
 */
export declare function reflectOnReply(input: ReflectionInput): void;
