import type { RunRecord, RunSplitTag } from '../../run-record';
export type CodeAgentSessionSource = 'codex' | 'claude-code' | 'opencode' | 'kimi-code' | 'pi';
export interface ParsedCodeAgentJsonl {
    entries: unknown[];
    malformedLines: number;
}
export interface CodeAgentSessionMetrics {
    entries: number;
    userMessages: number;
    assistantMessages: number;
    reasoningItems: number;
    toolCalls: number;
    toolOutputs: number;
    toolErrors: number;
    patchAttempts: number;
    patchSuccesses: number;
    patchFailures: number;
    turnsStarted: number;
    turnsCompleted: number;
    turnsAborted: number;
    contextCompactions: number;
    prLinks: number;
    fileSnapshots: number;
    graphNodes: number;
    graphEdges: number;
    actionCandidates: number;
    verificationReports: number;
    completionDecisions: number;
    reliabilityRows: number;
    reliabilityLift: number;
    inputTokens: number;
    outputTokens: number;
    cachedTokens: number;
    observedCostUsd: number;
    wallMs: number;
    processScore: number;
}
export interface CodeAgentSessionDiagnostic {
    source: CodeAgentSessionSource;
    sessionId: string;
    sourcePath?: string;
    entries: number;
    malformedLines: number;
    inferredScore: boolean;
    hasExplicitTerminalSignal: boolean;
    hasQualityLabel: boolean;
    hasTokenUsage: boolean;
    hasCost: boolean;
    warnings: string[];
}
export interface CodeAgentSessionIntakeResult {
    runs: RunRecord[];
    diagnostics: CodeAgentSessionDiagnostic[];
    metrics: CodeAgentSessionMetrics[];
}
export interface CodeAgentSessionIntakeOptions {
    entries: unknown[];
    malformedLines?: number;
    sourcePath?: string;
    experimentId?: string;
    candidateId?: string;
    seed?: number;
    splitTag?: RunSplitTag;
    scenarioId?: string;
    model?: string;
    promptHash?: string;
    configHash?: string;
    commitSha?: string;
    score?: number;
}
export declare function parseCodeAgentJsonl(jsonl: string): ParsedCodeAgentJsonl;
export declare function fromCodexSession(options: CodeAgentSessionIntakeOptions): CodeAgentSessionIntakeResult;
export declare function fromClaudeCodeSession(options: CodeAgentSessionIntakeOptions): CodeAgentSessionIntakeResult;
export declare function fromOpenCodeSession(options: CodeAgentSessionIntakeOptions): CodeAgentSessionIntakeResult;
export declare function fromKimiCodeSession(options: CodeAgentSessionIntakeOptions): CodeAgentSessionIntakeResult;
export declare function fromPiSession(options: CodeAgentSessionIntakeOptions): CodeAgentSessionIntakeResult;
export declare const fromPigraphSession: typeof fromPiSession;
//# sourceMappingURL=code-agent-session.d.ts.map