export type RuntimeSurfaceInspectorBoundary = "input" | "contract" | "governance" | "runtime-state" | "scope";
export type RuntimeSurfaceStatus = "ready" | "missing" | "degraded";
export type RuntimeSurfaceInspectorErrorCode = "MISSING_RUNTIME_ID" | "EMPTY_SURFACE_SET" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED";
export type RuntimeSurfaceInspectorGate = {
    accepted: boolean;
    reason?: string;
};
export type RuntimeSurfaceAttachment = {
    surfaceId?: string;
    mounted?: boolean;
    ready?: boolean;
    required?: boolean;
    owner?: string;
    exposedCapabilities?: readonly string[];
};
export type RuntimeSurfaceInspectorRequest = {
    runtimeId?: string;
    surfaces?: readonly RuntimeSurfaceAttachment[];
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    runtimeReady?: boolean;
    contract?: RuntimeSurfaceInspectorGate;
    governance?: RuntimeSurfaceInspectorGate;
    inspectedAt?: string;
};
export type RuntimeSurfaceInspectionEntry = {
    surfaceId: string;
    status: RuntimeSurfaceStatus;
    mounted: boolean;
    ready: boolean;
    required: boolean;
    owner?: string;
    exposedCapabilities: readonly string[];
};
export type RuntimeSurfaceInspectionSnapshot = {
    runtimeId: string;
    surface: "runtime.inspection.runtimeSurfaceInspector";
    status: RuntimeSurfaceStatus;
    entries: readonly RuntimeSurfaceInspectionEntry[];
    missingRequiredSurfaceIds: readonly string[];
    degradedSurfaceIds: readonly string[];
    acceptedScopes: readonly string[];
    inspectedAt: string;
    contractChecked: true;
    governanceChecked: true;
    unsafeSideEffects: false;
};
export type RuntimeSurfaceInspectorError = {
    code: RuntimeSurfaceInspectorErrorCode;
    message: string;
    boundary: RuntimeSurfaceInspectorBoundary;
    safeForRuntimeInspection: true;
};
export type RuntimeSurfaceInspectorResult = {
    ok: true;
    inspection: RuntimeSurfaceInspectionSnapshot;
    events: readonly string[];
} | {
    ok: false;
    error: RuntimeSurfaceInspectorError;
    events: readonly string[];
};
export declare const runtimeSurfaceInspectorDescriptor: {
    readonly surface: "runtime.inspection";
    readonly capability: "runtimeSurfaceInspector";
    readonly purpose: "inspect mounted runtime surfaces through a readonly readiness snapshot";
    readonly unsafeSideEffects: false;
};
export declare function inspectRuntimeSurfaces(request?: RuntimeSurfaceInspectorRequest): RuntimeSurfaceInspectorResult;
