/**
 * Deterministic transcript friction scoring for improvement ingest.
 * Scores **extracted message text** (Cursor-style JSONL), not the raw JSON line, to avoid
 * keyword hits inside metadata/URLs; drops common assistant “work summary” noise.
 */
export type TranscriptLineAnalysis = {
    score: number;
    role: string;
    /** Extracted plain text used for scoring (subset of message). */
    scoredText: string;
    skipReason?: string;
};
/**
 * Pull role + human-visible text from common Cursor agent-transcript JSONL shapes.
 */
export declare function extractRoleAndText(line: string): {
    role: string;
    text: string;
};
/**
 * Score a single JSONL line. Returns score 0 when the line should not contribute to friction.
 */
export declare function analyzeCursorTranscriptLine(line: string): TranscriptLineAnalysis;
