/**
 * Training data exporter — converts analyzed sessions into fine-tuning format.
 * Part of L3 data pipeline preparation.
 *
 * Formats supported:
 * - "jsonl" — OpenAI-compatible JSONL (messages array per line)
 * - "sharegpt" — ShareGPT format (conversations array)
 * - "insights" — OwlCoda insights (full trace analysis per session)
 */
import { type SessionMeta } from '../history/sessions.js';
import { type AnalyzedTrace } from '../skills/trace-analyzer.js';
export type ExportFormat = 'jsonl' | 'sharegpt' | 'insights';
export interface ExportOptions {
    format: ExportFormat;
    /** Max sessions to export (default: all) */
    limit?: number;
    /** Min complexity to include (default: 0 — include all) */
    minComplexity?: number;
    /** Min messages to include (default: 2) */
    minMessages?: number;
    /** Include sessions with tool calls only */
    toolCallsOnly?: boolean;
    /** Min quality score to include (0-100, default: 0) */
    minQuality?: number;
}
export interface ExportResult {
    format: ExportFormat;
    sessionCount: number;
    skippedCount: number;
    lines: string[];
}
export declare function sessionToJsonl(messages: Array<{
    role: string;
    content: unknown;
}>): string | null;
export declare function sessionToShareGpt(meta: SessionMeta, messages: Array<{
    role: string;
    content: unknown;
}>): string | null;
export declare function sessionToInsight(meta: SessionMeta, trace: AnalyzedTrace, messages: Array<{
    role: string;
    content: unknown;
}>): string;
export declare function exportTrainingData(options: ExportOptions): Promise<ExportResult>;
