import type { QueryResult } from './traceProcessorService';
import type { ComparisonReportSection, ComparisonSourceKind } from '../agentv3/sessionStateSnapshot';
export interface ComparisonAppendixQueryService {
    queryTrace(traceId: string, sql: string): Promise<QueryResult>;
}
export interface ComparisonAppendixInput {
    currentTraceId: string;
    referenceTraceId: string;
    title?: string;
    description?: string;
}
export interface ComparisonAppendix {
    markdown: string;
    html: string;
    limitations: string[];
    evidencePack: ComparisonEvidencePack;
}
export interface ComparisonEvidencePack {
    source: ComparisonSourceKind;
    currentTraceId: string;
    referenceTraceId: string;
    current: SideData;
    reference: SideData;
    metrics: {
        currentPackage?: string;
        referencePackage?: string;
        currentStartupType?: string;
        referenceStartupType?: string;
        currentDurationMs?: number | null;
        referenceDurationMs?: number | null;
        durationDeltaMs?: number | null;
    };
    limitations: string[];
}
export interface StartupRow {
    startup_id: number | null;
    package: string;
    startup_type: string;
    dur_ms: number | null;
}
export interface SideData {
    label: 'current' | 'reference';
    startup?: StartupRow;
    topSlices: Array<Record<string, unknown>>;
    threadStates: Array<Record<string, unknown>>;
    errors: string[];
}
export declare function buildComparisonAppendix(service: ComparisonAppendixQueryService, input: ComparisonAppendixInput): Promise<ComparisonAppendix>;
export declare function buildRawTraceComparisonReportSection(service: ComparisonAppendixQueryService, input: ComparisonAppendixInput): Promise<ComparisonReportSection>;
//# sourceMappingURL=comparisonAppendixService.d.ts.map