export type RuntimeReadinessCheckBoundary = "input" | "contract" | "governance" | "runtime-state" | "scope";
export type RuntimeReadinessStatus = "ready" | "blocked" | "degraded";
export type RuntimeReadinessCheckErrorCode = "MISSING_RUNTIME_ID" | "EMPTY_READINESS_INPUT" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED";
export type RuntimeReadinessCheckGate = {
    accepted: boolean;
    reason?: string;
};
export type RuntimeReadinessSignal = {
    signalId?: string;
    ready?: boolean;
    required?: boolean;
    reason?: string;
};
export type RuntimeReadinessCheckRequest = {
    runtimeId?: string;
    surfaces?: readonly RuntimeReadinessSignal[];
    modules?: readonly RuntimeReadinessSignal[];
    invariants?: readonly RuntimeReadinessSignal[];
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    contract?: RuntimeReadinessCheckGate;
    governance?: RuntimeReadinessCheckGate;
    checkedAt?: string;
};
export type RuntimeReadinessIssue = {
    signalId: string;
    source: "surface" | "module" | "invariant";
    required: boolean;
    reason: string;
};
export type RuntimeReadinessSnapshot = {
    runtimeId: string;
    status: RuntimeReadinessStatus;
    ready: boolean;
    surface: "runtime.inspection.runtimeReadinessCheck";
    requiredSignals: readonly string[];
    optionalSignals: readonly string[];
    blockingIssues: readonly RuntimeReadinessIssue[];
    degradedIssues: readonly RuntimeReadinessIssue[];
    acceptedScopes: readonly string[];
    checkedAt: string;
    contractChecked: true;
    governanceChecked: true;
    unsafeSideEffects: false;
};
export type RuntimeReadinessCheckError = {
    code: RuntimeReadinessCheckErrorCode;
    message: string;
    boundary: RuntimeReadinessCheckBoundary;
    safeForRuntimeInspection: true;
};
export type RuntimeReadinessCheckResult = {
    ok: true;
    readiness: RuntimeReadinessSnapshot;
    events: readonly string[];
} | {
    ok: false;
    error: RuntimeReadinessCheckError;
    events: readonly string[];
};
export declare const runtimeReadinessCheckDescriptor: {
    readonly surface: "runtime.inspection";
    readonly capability: "runtimeReadinessCheck";
    readonly purpose: "aggregate readonly runtime surface, module, and invariant readiness signals";
    readonly unsafeSideEffects: false;
};
export declare function checkRuntimeReadiness(request?: RuntimeReadinessCheckRequest): RuntimeReadinessCheckResult;
