export type DebugModuleAttachmentProbeBoundary = "input" | "contract" | "governance" | "runtime-state" | "module";
export type DebugModuleAttachmentProbeCallerKind = "application" | "official-module" | "runtime-surface" | "inspection" | "debug";
export type DebugModuleAttachmentProbeCaller = {
    kind: DebugModuleAttachmentProbeCallerKind;
    id: string;
    moduleId?: string;
};
export type DebugModuleAttachmentProbeGate = {
    accepted: boolean;
    reason?: string;
};
export type DebugModuleAttachmentKind = "cmp" | "mp" | "tap" | "multiagent" | "custom";
export type DebugModuleAttachmentPhase = "detached" | "attached" | "paused" | "failed";
export type DebugModuleAttachmentSnapshot = {
    moduleId: string;
    moduleKind: DebugModuleAttachmentKind;
    phase: DebugModuleAttachmentPhase;
    mounted?: boolean;
    enabled?: boolean;
    contractAccepted?: boolean;
    governanceAccepted?: boolean;
    requiredScopes?: readonly string[];
    grantedScopes?: readonly string[];
};
export type DebugModuleAttachmentStatus = "attached" | "missing" | "paused" | "failed" | "denied";
export type DebugModuleAttachmentObservation = {
    moduleId: string;
    moduleKind: DebugModuleAttachmentKind;
    phase: DebugModuleAttachmentPhase;
    status: DebugModuleAttachmentStatus;
    mounted: boolean;
    enabled: boolean;
    contractAccepted: boolean;
    governanceAccepted: boolean;
    requiredScopes: readonly string[];
    grantedScopes: readonly string[];
    missingScopes: readonly string[];
    reasons: readonly string[];
};
export type DebugModuleAttachmentProbeErrorCode = "MISSING_RUNTIME_ID" | "MISSING_CALLER" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "MODULE_NOT_MOUNTED";
export type DebugModuleAttachmentProbeRequest = {
    runtimeId?: string;
    caller?: DebugModuleAttachmentProbeCaller;
    runtimeReady?: boolean;
    contract?: DebugModuleAttachmentProbeGate;
    governance?: DebugModuleAttachmentProbeGate;
    attachments?: readonly DebugModuleAttachmentSnapshot[];
    requiredModuleIds?: readonly string[];
};
export type DebugModuleAttachmentProbeReport = {
    runtimeId: string;
    caller: DebugModuleAttachmentProbeCaller;
    status: "clear" | "needs-attention";
    observations: readonly DebugModuleAttachmentObservation[];
    missingRequiredModuleIds: readonly string[];
    probeSurface: "runtime.debug.debugModuleAttachmentProbe";
    contractChecked: true;
    governanceChecked: true;
    readonly: true;
    unsafeSideEffects: false;
};
export type DebugModuleAttachmentProbeError = {
    code: DebugModuleAttachmentProbeErrorCode;
    message: string;
    boundary: DebugModuleAttachmentProbeBoundary;
    publicSafe: true;
};
export type DebugModuleAttachmentProbeResult = {
    ok: true;
    report: DebugModuleAttachmentProbeReport;
    events: readonly string[];
} | {
    ok: false;
    error: DebugModuleAttachmentProbeError;
    events: readonly string[];
};
export declare function probeDebugModuleAttachment(request?: DebugModuleAttachmentProbeRequest): DebugModuleAttachmentProbeResult;
