/**
 * Trace Data Completeness Prober
 *
 * Probes key Perfetto stdlib tables to determine which analysis capabilities
 * are available for a given trace. Cross-references with architecture detection
 * to distinguish "config not enabled" from "not applicable".
 *
 * Two-layer probing:
 *   1. Schema existence — sqlite_master check (which tables/views exist)
 *   2. Data existence — EXISTS(SELECT 1 FROM table) for tables that exist in schema
 *
 * Result categories:
 *   - available: data present, analysis possible
 *   - missing_config_suspected: schema missing or empty, likely trace config issue
 *   - not_applicable: architecture/version mismatch, not a config issue
 *   - insufficient_or_scene_absent: sparse data, ambiguous cause
 */
import type { RenderingArchitectureType } from '../agent/detectors/types';
import type { TraceProcessorService } from '../services/traceProcessorService';
import type { TraceCompleteness } from './types';
/** Capability definition — maps an analysis domain to its primary detection table. */
interface CapabilityDef {
    id: string;
    displayName: string;
    /** Primary table to probe for data existence */
    primaryTable: string;
    /** Stdlib modules that must be included before probing this table. */
    requiredModules?: string[];
    /** Capture guidance appended when the table is missing or empty. */
    captureHint?: string;
    /** Architectures where this capability is relevant (empty = all) */
    applicableArchs?: RenderingArchitectureType[];
    /** Architectures where this capability is explicitly NOT relevant */
    excludedArchs?: RenderingArchitectureType[];
    /** Priority for reporting: CRITICAL capabilities are flagged prominently when missing */
    priority: 'critical' | 'recommended' | 'optional';
}
/**
 * Capability registry — the authoritative list of probed capabilities.
 * Order determines output order. Each entry maps to a section in
 * knowledge-data-sources.template.md for detailed capture guidance.
 */
declare const CAPABILITY_REGISTRY: CapabilityDef[];
/**
 * Probe trace data completeness.
 *
 * @param tps TraceProcessorService instance
 * @param traceId Active trace ID
 * @param architectureType Detected architecture (used for not_applicable filtering)
 * @returns TraceCompleteness diagnosis
 */
export declare function probeTraceCompleteness(tps: TraceProcessorService, traceId: string, architectureType?: RenderingArchitectureType): Promise<TraceCompleteness>;
/** Export the registry for use by comparison mode's capability dictionary. */
export { CAPABILITY_REGISTRY };
export type { CapabilityDef };
//# sourceMappingURL=traceCompletenessProber.d.ts.map