import type { TraceEventWithId } from "../types.js";
type JsonRecord = Record<string, unknown>;
export interface FormattedTraceEvent {
    id: string;
    identifiers: string[];
    type: string;
    label: string;
    timestamp: string;
    agentName?: string;
    traceId?: string;
    spanId?: string;
    summary: string;
    data?: JsonRecord;
}
export interface TraceEventExplanation {
    headline: string;
    happened: string;
    why: string;
    likelyImpact: string;
    inspectNext: string[];
    capturedInputs: Array<{
        label: string;
        value: string;
    }>;
    nearbyEvents: FormattedTraceEvent[];
    rawEvidence: {
        eventId: string;
        eventType: string;
        timestamp: string;
        traceId?: string;
        spanId?: string;
        sessionId: string;
    };
}
export interface InteractionTimelineItem {
    eventId: string;
    type: string;
    label: string;
    timestamp: string;
    agentName?: string;
    spanId?: string;
    summary: string;
    provider?: string;
    model?: string;
    stage?: string;
    status?: string;
    severity: "info" | "warning" | "error";
}
export interface InteractionReport {
    summary: {
        totalEvents: number;
        errorEvents: number;
        providers: string[];
        models: string[];
        spanIds: string[];
        firstEventAt?: string;
        lastEventAt?: string;
    };
    timeline: InteractionTimelineItem[];
}
export declare function getTraceEventLabel(type: string): string;
export declare function summarizeTraceEvent(event: TraceEventWithId): string;
export declare function formatTraceEvent(event: TraceEventWithId, options?: {
    includeData?: boolean;
}): FormattedTraceEvent;
export declare function findTraceEvent(events: TraceEventWithId[], eventId: string): TraceEventWithId | undefined;
export declare function getNearbyTraceEvents(events: TraceEventWithId[], eventId: string, radius?: number): TraceEventWithId[];
export declare function explainTraceEvent(event: TraceEventWithId, allEvents: TraceEventWithId[]): TraceEventExplanation;
export declare function buildModelInteractionReport(events: TraceEventWithId[]): InteractionReport;
export declare function buildRealtimeInteractionReport(events: TraceEventWithId[]): InteractionReport;
export {};
//# sourceMappingURL=trace-diagnostics.d.ts.map