export type RuntimeInvariantProbeBoundary = "input" | "contract" | "governance" | "runtime-state" | "scope";
export type RuntimeInvariantStatus = "passed" | "failed" | "warning";
export type RuntimeInvariantProbeErrorCode = "MISSING_RUNTIME_ID" | "EMPTY_INVARIANT_SET" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED";
export type RuntimeInvariantProbeGate = {
    accepted: boolean;
    reason?: string;
};
export type RuntimeInvariantObservation = {
    invariantId?: string;
    description?: string;
    passed?: boolean;
    severity?: "error" | "warning";
    evidenceRef?: string;
};
export type RuntimeInvariantProbeRequest = {
    runtimeId?: string;
    probeId?: string;
    observations?: readonly RuntimeInvariantObservation[];
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    runtimeReady?: boolean;
    contract?: RuntimeInvariantProbeGate;
    governance?: RuntimeInvariantProbeGate;
    observedAt?: string;
};
export type RuntimeInvariantProbeFinding = {
    invariantId: string;
    description: string;
    status: RuntimeInvariantStatus;
    severity: "error" | "warning" | "none";
    evidenceRef?: string;
};
export type RuntimeInvariantProbeSnapshot = {
    runtimeId: string;
    probeId: string;
    surface: "runtime.inspection.runtimeInvariantProbe";
    status: RuntimeInvariantStatus;
    findings: readonly RuntimeInvariantProbeFinding[];
    failedInvariantIds: readonly string[];
    warningInvariantIds: readonly string[];
    acceptedScopes: readonly string[];
    observedAt: string;
    contractChecked: true;
    governanceChecked: true;
    unsafeSideEffects: false;
};
export type RuntimeInvariantProbeError = {
    code: RuntimeInvariantProbeErrorCode;
    message: string;
    boundary: RuntimeInvariantProbeBoundary;
    safeForRuntimeInspection: true;
};
export type RuntimeInvariantProbeResult = {
    ok: true;
    snapshot: RuntimeInvariantProbeSnapshot;
    events: readonly string[];
} | {
    ok: false;
    error: RuntimeInvariantProbeError;
    events: readonly string[];
};
export declare const runtimeInvariantProbeDescriptor: {
    readonly surface: "runtime.inspection";
    readonly capability: "runtimeInvariantProbe";
    readonly purpose: "classify runtime invariant observations without mutating runtime state";
    readonly unsafeSideEffects: false;
};
export declare function probeRuntimeInvariants(request?: RuntimeInvariantProbeRequest): RuntimeInvariantProbeResult;
