export type RuntimeInspectionAudience = "application" | "official-module" | "management" | "inspection" | "debug";
export type RuntimeInspectionBoundary = "input" | "contract" | "governance" | "runtime-state" | "surface" | "module" | "invariant" | "check" | "scope";
export type RuntimeInspectionErrorCode = "MISSING_RUNTIME_ID" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "MISSING_INSPECTION_SIGNAL" | "MISSING_CONTRACT_ID" | "MISSING_POLICY_ID" | "MISSING_CHECK_ID" | "CHECK_REJECTED" | "CHECK_FAILED" | "CONTRACT_MISSING" | "GOVERNANCE_POLICY_MISSING" | "SURFACE_NOT_READY" | "MODULE_NOT_MOUNTED" | "INVARIANT_FAILED" | "SCOPE_DENIED";
export type RuntimeInspectionGate = {
    accepted: boolean;
    reason?: string;
};
export type RuntimeInspectionSeverity = "info" | "warning" | "error";
export type RuntimeInspectionError = {
    code: RuntimeInspectionErrorCode;
    message: string;
    boundary: RuntimeInspectionBoundary;
    safeForApplication: true;
    internalDetailExposed: false;
};
export type RuntimeInspectionFailure = {
    ok: false;
    error: RuntimeInspectionError;
    events: readonly string[];
};
export type RuntimeInspectionFinding = {
    findingId: string;
    severity: RuntimeInspectionSeverity;
    boundary: RuntimeInspectionBoundary;
    message: string;
    relatedSurface?: string;
    remediation?: string;
};
export type RuntimeInspectionSignal = {
    signalId?: string;
    boundary?: RuntimeInspectionBoundary;
    ready?: boolean;
    findings?: readonly RuntimeInspectionFinding[];
    events?: readonly string[];
};
export type RuntimeInspectionRequest = {
    runtimeId?: string;
    runtimeReady?: boolean;
    audience?: RuntimeInspectionAudience;
    contract?: RuntimeInspectionGate;
    governance?: RuntimeInspectionGate;
    surfaces?: Readonly<Record<string, boolean>> | readonly RuntimeInspectionSignal[];
    modules?: readonly RuntimeInspectionSignal[];
    invariants?: readonly RuntimeInspectionSignal[];
};
export type RuntimeInspectionStatus = "ready" | "degraded" | "blocked";
export type RuntimeInspectionSnapshot = {
    runtimeId: string;
    status: RuntimeInspectionStatus;
    audience?: RuntimeInspectionAudience;
    findings: readonly RuntimeInspectionFinding[];
    checkedSurfaces: readonly string[];
    checkedModules: readonly string[];
    checkedInvariants: readonly string[];
    inspectionSurface: "runtime.inspection.runtimeInspector";
    governanceChecked: true;
    contractChecked: true;
    unsafeSideEffects: false;
};
export type RuntimeInspectionResult = {
    ok: true;
    snapshot: RuntimeInspectionSnapshot;
    events: readonly string[];
} | RuntimeInspectionFailure;
export declare function isRuntimeInspectionBlank(value: string | undefined): boolean;
export declare function cleanRuntimeInspectionList(values: readonly string[] | undefined): readonly string[];
export declare function runtimeInspectionError(code: RuntimeInspectionErrorCode, message: string, boundary: RuntimeInspectionBoundary): RuntimeInspectionError;
export declare function rejectRuntimeInspection(code: RuntimeInspectionErrorCode, message: string, boundary: RuntimeInspectionBoundary, event?: string): RuntimeInspectionFailure;
export declare function inspectRuntime(request?: RuntimeInspectionRequest): RuntimeInspectionResult;
