/**
 * Trace storage — port interface for persisting evaluation traces.
 *
 * Full trace payloads go to blob storage (GCP Cloud Storage or local
 * filesystem). Content Lake documents store only sanitized summaries
 * with a `traceDataUri` pointing to the full payload.
 *
 * CRITICAL SECURITY: The `next` dataset is publicly accessible. Full
 * trace data (which may contain tool call arguments with sensitive data)
 * MUST go to blob storage. Only sanitized summaries in Content Lake.
 *
 * @see docs/design-docs/architecture-overhaul/observability-telemetry.md
 * @see docs/design-docs/architecture-overhaul/storage-schema.md
 */
import type { EvalTrace } from "../../../_vendor/ailf-core/index.d.ts";
/** Result of storing a trace */
export interface TraceStoreResult {
    /** URI pointing to the stored trace (blob:// or file://) */
    uri: string;
    /** Content hash for integrity verification */
    contentHash: string;
    /** Size in bytes */
    sizeBytes: number;
}
/** Sanitized trace summary for Content Lake storage */
export interface TraceSummary {
    /** Trace ID */
    traceId: string;
    /** URI to the full trace payload */
    traceDataUri: string;
    /** Task ID */
    taskId: string;
    /** Model ID */
    modelId: string;
    /** Number of tool calls */
    toolCallCount: number;
    /** Tool call category breakdown */
    toolCallCategories: Record<string, number>;
    /** Total tokens used */
    totalTokens: number;
    /** Estimated cost in USD */
    costEstimate: number;
    /** Duration in milliseconds */
    durationMs: number;
    /** URLs visited count */
    urlsVisitedCount: number;
    /** Files read count */
    filesReadCount: number;
    /** Files written count */
    filesWrittenCount: number;
}
/**
 * Port interface for trace blob storage.
 *
 * Implementations:
 * - LocalTraceStore — writes to local filesystem (development/CI)
 * - GCPTraceStore — writes to GCP Cloud Storage (production)
 */
export interface TraceStore {
    /** Store a full trace payload */
    store(trace: EvalTrace): Promise<TraceStoreResult>;
    /** Retrieve a trace by URI */
    retrieve(uri: string): Promise<EvalTrace | null>;
}
/** Local filesystem trace store — for development and CI */
export declare class LocalTraceStore implements TraceStore {
    private readonly baseDir;
    constructor(baseDir: string);
    store(trace: EvalTrace): Promise<TraceStoreResult>;
    retrieve(uri: string): Promise<EvalTrace | null>;
}
/**
 * Extract a sanitized summary from a full trace.
 *
 * This summary is safe for Content Lake storage (no tool call arguments,
 * no file contents, no potentially sensitive data).
 */
export declare function extractTraceSummary(trace: EvalTrace, traceDataUri: string): TraceSummary;
