export type RuntimeFaultClassifierBoundary = "input" | "contract" | "governance" | "runtime-state" | "scope" | "fault-signal";
export type RuntimeFaultCategory = "contract" | "governance" | "runtime-state" | "module-attachment" | "provider-adapter" | "execution" | "unknown";
export type RuntimeFaultSeverity = "notice" | "recoverable" | "degraded" | "critical";
export type RuntimeFaultRepairability = "auto-repairable" | "requires-approval" | "requires-escalation" | "not-repairable";
export type RuntimeFaultClassifierErrorCode = "MISSING_RUNTIME_ID" | "MISSING_FAULT_SIGNAL" | "MISSING_FAULT_KIND" | "FAULT_SCOPE_DENIED" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED";
export type RuntimeFaultClassifierGate = {
    accepted: boolean;
    reason?: string;
};
export type RuntimeFaultSignal = {
    faultId?: string;
    kind?: string;
    source?: string;
    message?: string;
    severity?: RuntimeFaultSeverity;
    retryable?: boolean;
    contractRejected?: boolean;
    governanceRejected?: boolean;
    runtimeReady?: boolean;
    moduleMounted?: boolean;
    providerAdapter?: string;
    executionPhase?: string;
    externalSideEffect?: boolean;
    tags?: readonly string[];
};
export type RuntimeFaultClassifierRequest = {
    runtimeId?: string;
    signal?: RuntimeFaultSignal;
    allowedFaultKinds?: readonly string[];
    runtimeReady?: boolean;
    contract?: RuntimeFaultClassifierGate;
    governance?: RuntimeFaultClassifierGate;
    observedAt?: string;
};
export type RuntimeFaultClassification = {
    runtimeId: string;
    faultId: string;
    kind: string;
    category: RuntimeFaultCategory;
    severity: RuntimeFaultSeverity;
    repairability: RuntimeFaultRepairability;
    recoverable: boolean;
    reason: string;
    source: string;
    observedAt: string;
    evidenceTags: readonly string[];
    recommendedNextStep: "build-plan" | "request-approval" | "escalate" | "observe-only";
    contractChecked: true;
    governanceChecked: true;
    unsafeSideEffects: false;
};
export type RuntimeFaultClassifierError = {
    code: RuntimeFaultClassifierErrorCode;
    message: string;
    boundary: RuntimeFaultClassifierBoundary;
    safeForRuntimeInspection: true;
    internalDetailExposed: false;
};
export type RuntimeFaultClassifierResult = {
    ok: true;
    classification: RuntimeFaultClassification;
    events: readonly string[];
} | {
    ok: false;
    error: RuntimeFaultClassifierError;
    events: readonly string[];
};
export declare const runtimeFaultClassifierDescriptor: {
    readonly surface: "runtime.selfRepair";
    readonly capability: "faultClassifier";
    readonly purpose: "classify runtime fault envelopes and report repairability without executing repair actions";
    readonly unsafeSideEffects: false;
};
export declare function classifyRuntimeFault(request?: RuntimeFaultClassifierRequest): RuntimeFaultClassifierResult;
