import { type TelemetryEventDecision, type TelemetryEventEnvelope, type TelemetryEventOrigin, type TelemetryEventSeverity } from './native/telemetry-envelope.js';
export declare const FITNESS_TIERS: readonly ["tier1_fault_injection", "tier2_semi_automated", "tier3_manual_terminal"];
export type FitnessTier = (typeof FITNESS_TIERS)[number];
export declare const FITNESS_GATES: readonly ["ci", "doctor", "manual"];
export type FitnessGate = (typeof FITNESS_GATES)[number];
export declare const FITNESS_OBSERVABLE_SURFACES: readonly ["cli", "http", "doctor", "status", "daemon_log", "telemetry", "admin", "config"];
export type FitnessObservableSurface = (typeof FITNESS_OBSERVABLE_SURFACES)[number];
export interface FitnessMatrixCell {
    id: string;
    tier: FitnessTier;
    fault: string;
    injectionPoint: string;
    observableAssertions: string[];
    surfaces: FitnessObservableSurface[];
    gate: FitnessGate;
    telemetryOrigin: TelemetryEventOrigin;
    /** True when this file carries an inline behavioral probe for the fault.
     *  False means the cell is covered only by the referenced suites in
     *  `currentEvidence` — honest about the weaker, file-granular guarantee. */
    directProbe: boolean;
    currentEvidence: string[];
}
export declare const FITNESS_TIER1_FAULT_INJECTION_CELLS: readonly FitnessMatrixCell[];
export declare function listTier1FaultInjectionCells(): readonly FitnessMatrixCell[];
export interface FitnessCellObservation {
    decision: TelemetryEventDecision;
    reasonCode: string;
    severity?: TelemetryEventSeverity;
    surface?: FitnessObservableSurface;
    subject?: string;
    observedAt?: Date | string | number;
    evidenceRef?: string;
    attributes?: Record<string, unknown>;
}
/**
 * Project a fitness cell plus a probe outcome onto the shared telemetry
 * envelope. This is the envelope's first real producer: it proves the schema
 * is sufficient to describe every Tier-1 cell (see the mapping test) instead
 * of leaving the "shared spine" claim aspirational. Pure — no emit/IO here.
 */
export declare function buildFitnessCellTelemetry(cell: FitnessMatrixCell, observation: FitnessCellObservation): TelemetryEventEnvelope;
