import type { Evaluator } from "../../../../types/index.ts";
/** Parsed trigger analysis from the LLM. */
export interface TriggerAnalysis {
    hasEvolutionTrigger: boolean;
    triggerType: string;
    reasoning: string;
    confidence: number;
}
/** Parsed evolution analysis from the LLM. */
export interface EvolutionAnalysis {
    shouldModify: boolean;
    confidence: number;
    gradualChange: boolean;
    reasoning: string;
    modifications: EvolutionModifications;
}
/** Character modifications extracted from a flat TOON record. */
export interface EvolutionModifications {
    name?: string;
    system?: string;
    bio?: string[];
    topics?: string[];
    style?: {
        all?: string[];
        chat?: string[];
        post?: string[];
    };
}
export declare function isRecord(value: unknown): value is Record<string, unknown>;
export declare function parseStructuredRecord(response: string): Record<string, unknown> | null;
export declare function normalizeBoolean(value: unknown): boolean | undefined;
export declare function normalizeNumber(value: unknown): number | undefined;
export declare function normalizeStringList(value: unknown): string[] | undefined;
/**
 * Parse a flat TOON record into a typed TriggerAnalysis.
 * Returns null when the record is missing or has no valid trigger field.
 */
export declare function parseTriggerAnalysis(raw: Record<string, unknown>): TriggerAnalysis;
/**
 * Build an EvolutionModifications object from flat TOON fields.
 * Uses || delimiters for list fields and style_all/style_chat/style_post for style.
 */
export declare function buildModifications(raw: Record<string, unknown>): EvolutionModifications;
/**
 * Parse a flat TOON record into a typed EvolutionAnalysis.
 */
export declare function parseEvolutionAnalysis(raw: Record<string, unknown>): EvolutionAnalysis;
/**
 * Evaluator that analyzes conversations for character evolution opportunities
 * Runs after conversations to identify patterns that suggest character growth
 */
export declare const characterEvolutionEvaluator: Evaluator;
//# sourceMappingURL=character-evolution.d.ts.map