export declare const ANALYSIS_RESULT_SNAPSHOT_SCHEMA_VERSION: "analysis_result_snapshot@1";
export declare const COMPARISON_MATRIX_SCHEMA_VERSION: "comparison_matrix@1";
export declare const MULTI_TRACE_COMPARISON_RUN_SCHEMA_VERSION: "multi_trace_comparison_run@1";
export type AnalysisResultVisibility = 'private' | 'workspace';
export type AnalysisResultSceneType = 'startup' | 'scrolling' | 'interaction' | 'memory' | 'cpu' | 'general';
export type AnalysisResultSnapshotStatus = 'ready' | 'partial' | 'failed';
export type NormalizedMetricUnit = 'ms' | 'fps' | '%' | 'count' | 'bytes' | 'ns' | 'mhz' | 'text';
export type NormalizedMetricDirection = 'lower_is_better' | 'higher_is_better' | 'neutral';
export type NormalizedMetricAggregation = 'p50' | 'p90' | 'p95' | 'p99' | 'avg' | 'max' | 'sum' | 'single';
export type NormalizedMetricSourceType = 'skill' | 'sql' | 'agent_conclusion' | 'report' | 'manual' | 'backfill';
export type StandardComparisonMetricKey = 'startup.total_ms' | 'startup.first_frame_ms' | 'startup.bind_application_ms' | 'startup.activity_start_ms' | 'startup.main_thread_blocked_ms' | 'scrolling.avg_fps' | 'scrolling.frame_count' | 'scrolling.jank_count' | 'scrolling.jank_rate_pct' | 'scrolling.p50_frame_ms' | 'scrolling.p95_frame_ms' | 'scrolling.p99_frame_ms' | 'cpu.main_thread_running_ms' | 'cpu.main_thread_runnable_ms' | 'cpu.big_core_pct' | 'cpu.avg_freq_mhz' | 'trace.duration_ms' | 'trace.device_model' | 'trace.android_version' | 'trace.capture_config_summary';
export type ComparisonMetricKey = StandardComparisonMetricKey | (string & {});
export interface NormalizedMetricDefinition {
    key: StandardComparisonMetricKey;
    label: string;
    group: string;
    unit: NormalizedMetricUnit;
    direction: NormalizedMetricDirection;
    aggregation: NormalizedMetricAggregation;
}
export declare const STANDARD_COMPARISON_METRICS: readonly NormalizedMetricDefinition[];
export declare const STANDARD_COMPARISON_METRIC_KEYS: StandardComparisonMetricKey[];
export interface TraceComparisonMetadata {
    appPackage?: string;
    processName?: string;
    deviceModel?: string;
    androidVersion?: string;
    buildFingerprint?: string;
    captureConfigSummary?: string;
    traceDurationMs?: number;
    traceSizeBytes?: number;
    startedAtNs?: number;
    endedAtNs?: number;
    [key: string]: unknown;
}
export interface AnalysisSummary {
    headline: string;
    details?: string[];
    risks?: string[];
    recommendations?: string[];
    confidence?: number;
    partialReasons?: string[];
}
export interface NormalizedMetricSource {
    type: NormalizedMetricSourceType;
    skillId?: string;
    stepId?: string;
    dataEnvelopeId?: string;
    reportId?: string;
    messageId?: string;
    sql?: string;
    backfillRunId?: string;
}
export interface NormalizedMetricValue {
    key: ComparisonMetricKey;
    label: string;
    group: string;
    value: number | string | null;
    unit?: NormalizedMetricUnit;
    direction?: NormalizedMetricDirection;
    aggregation?: NormalizedMetricAggregation;
    confidence: number;
    missingReason?: string;
    source: NormalizedMetricSource;
}
export type EvidenceRefType = 'snapshot_metric' | 'data_envelope' | 'skill_step' | 'report' | 'agent_event' | 'trace_backfill';
export interface EvidenceRef {
    id: string;
    type: EvidenceRefType;
    label?: string;
    snapshotId?: string;
    metricKey?: ComparisonMetricKey;
    dataEnvelopeId?: string;
    reportId?: string;
    runId?: string;
    eventCursor?: number;
    url?: string;
    metadata?: Record<string, unknown>;
}
export interface AnalysisResultSnapshot {
    id: string;
    tenantId: string;
    workspaceId: string;
    traceId: string;
    sessionId: string;
    runId: string;
    reportId?: string;
    createdBy?: string;
    visibility: AnalysisResultVisibility;
    sceneType: AnalysisResultSceneType;
    title: string;
    userQuery: string;
    traceLabel: string;
    traceMetadata: TraceComparisonMetadata;
    summary: AnalysisSummary;
    conclusionContract?: unknown;
    claimSupport?: import('./evidenceContract').ClaimSupportV1[];
    claimVerificationResult?: import('./claimVerification').ClaimVerificationResult;
    identityResolutions?: import('./identityContract').IdentityResolutionV1[];
    metrics: NormalizedMetricValue[];
    evidenceRefs: EvidenceRef[];
    status: AnalysisResultSnapshotStatus;
    schemaVersion: typeof ANALYSIS_RESULT_SNAPSHOT_SCHEMA_VERSION;
    createdAt: number;
    expiresAt?: number;
}
export interface AnalysisResultWindowState {
    tenantId: string;
    workspaceId: string;
    windowId: string;
    userId?: string;
    traceId?: string;
    backendTraceId?: string;
    activeSessionId?: string;
    latestSnapshotId?: string;
    traceTitle?: string;
    sceneType?: AnalysisResultSceneType;
    metadata?: Record<string, unknown>;
    updatedAt: number;
    expiresAt: number;
}
export interface ComparisonMatrixInput {
    snapshotId: string;
    traceId: string;
    title: string;
    traceLabel: string;
    sceneType: AnalysisResultSceneType;
    userQuery: string;
    visibility: AnalysisResultVisibility;
    createdBy?: string;
    createdAt: number;
    traceMetadata: TraceComparisonMetadata;
}
export interface ComparisonMatrixCell {
    snapshotId: string;
    metricKey: ComparisonMetricKey;
    value: number | string | null;
    numericValue?: number;
    unit?: NormalizedMetricUnit;
    confidence: number;
    missingReason?: string;
    source: NormalizedMetricSource;
}
export interface ComparisonDelta {
    snapshotId: string;
    baselineSnapshotId: string;
    metricKey: ComparisonMetricKey;
    deltaValue: number | null;
    deltaPct: number | null;
    direction: NormalizedMetricDirection;
    assessment: 'better' | 'worse' | 'same' | 'unknown';
}
export interface ComparisonMatrixRow {
    metricKey: ComparisonMetricKey;
    label: string;
    group: string;
    unit?: NormalizedMetricUnit;
    direction: NormalizedMetricDirection;
    baseline?: ComparisonMatrixCell;
    cells: ComparisonMatrixCell[];
    deltas: ComparisonDelta[];
    missingSnapshotIds: string[];
}
export interface ComparisonMatrixGroup {
    group: string;
    rowMetricKeys: ComparisonMetricKey[];
    rowCount: number;
    significantChangeCount: number;
    missingMetricCount: number;
    defaultCollapsed: boolean;
}
export interface ComparisonMatrix {
    schemaVersion: typeof COMPARISON_MATRIX_SCHEMA_VERSION;
    inputSnapshots: ComparisonMatrixInput[];
    baselineSnapshotId?: string;
    rows: ComparisonMatrixRow[];
    groups: ComparisonMatrixGroup[];
    evidenceRefs: EvidenceRef[];
    missingMatrix: Record<string, Record<string, string>>;
    warnings: string[];
    createdAt: number;
}
export interface ComparisonConclusion {
    source?: 'deterministic' | 'ai';
    model?: string;
    generatedAt?: number;
    verifiedFacts: string[];
    inferences: string[];
    recommendations: string[];
    uncertainty: string[];
}
export interface ComparisonResult {
    matrix: ComparisonMatrix;
    conclusion: ComparisonConclusion;
    significantChanges: ComparisonDelta[];
    reportId?: string;
    reportUrl?: string;
    reportExportUrl?: string;
}
export type MultiTraceComparisonRunStatus = 'pending' | 'running' | 'completed' | 'failed' | 'needs_selection';
export interface MultiTraceComparisonRun {
    id: string;
    tenantId: string;
    workspaceId: string;
    createdBy?: string;
    inputSnapshotIds: string[];
    baselineSnapshotId?: string;
    query: string;
    metricKeys?: ComparisonMetricKey[];
    status: MultiTraceComparisonRunStatus;
    result?: ComparisonResult;
    reportId?: string;
    error?: string;
    schemaVersion: typeof MULTI_TRACE_COMPARISON_RUN_SCHEMA_VERSION;
    createdAt: number;
    completedAt?: number;
}
//# sourceMappingURL=multiTraceComparison.d.ts.map