export type DebugSnapshotBoundary = "input" | "contract" | "governance" | "runtime-state" | "scope" | "snapshot";
export type DebugSnapshotCallerKind = "application" | "official-module" | "runtime-surface" | "inspection" | "test";
export type DebugSnapshotCaller = {
    kind: DebugSnapshotCallerKind;
    id: string;
    moduleId?: string;
    sessionId?: string;
};
export type DebugSnapshotGate = {
    accepted: boolean;
    reason?: string;
};
export type DebugSnapshotSectionKind = "runtime-state" | "contract" | "governance" | "invocation" | "trace" | "module" | "capability" | (string & {});
export type DebugSnapshotSectionStatus = "ready" | "degraded" | "blocked" | "unknown";
export type DebugSnapshotSectionInput = {
    sectionId?: string;
    kind?: DebugSnapshotSectionKind;
    label?: string;
    status?: DebugSnapshotSectionStatus;
    observedAt?: string;
    value?: unknown;
    tags?: readonly string[];
    metadata?: Readonly<Record<string, unknown>>;
};
export type DebugSnapshotValueShape = "object" | "array" | "string" | "number" | "boolean" | "null" | "undefined" | "unknown";
export type DebugSnapshotSection = {
    sectionId: string;
    kind: DebugSnapshotSectionKind;
    label: string;
    status: DebugSnapshotSectionStatus;
    observedAt: string;
    valueShape: DebugSnapshotValueShape;
    valueKeys: readonly string[];
    tags: readonly string[];
    metadataKeys: readonly string[];
};
export type DebugSnapshot = {
    runtimeId: string;
    snapshotId: string;
    caller: DebugSnapshotCaller;
    route: "runtime.debug.debugSnapshotCollector";
    sections: readonly DebugSnapshotSection[];
    sectionKinds: readonly DebugSnapshotSectionKind[];
    degradedSections: readonly string[];
    blockedSections: readonly string[];
    audit: {
        dryRun: true;
        unsafeSideEffects: false;
        rawRuntimeStateExposed: false;
        governanceRequired: true;
    };
};
export type DebugSnapshotCollectorRequest = {
    runtimeId?: string;
    snapshotId?: string;
    caller?: DebugSnapshotCaller;
    sections?: readonly DebugSnapshotSectionInput[];
    requiredSectionKinds?: readonly string[];
    exposeRawValues?: boolean;
    runtimeReady?: boolean;
    contract?: DebugSnapshotGate;
    governance?: DebugSnapshotGate;
};
export type DebugSnapshotErrorCode = "MISSING_RUNTIME_ID" | "MISSING_CALLER" | "MISSING_SECTIONS" | "MISSING_SECTION_KIND" | "MISSING_SECTION_LABEL" | "REQUIRED_SECTION_MISSING" | "RAW_SNAPSHOT_BLOCKED" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED";
export type DebugSnapshotError = {
    code: DebugSnapshotErrorCode;
    message: string;
    boundary: DebugSnapshotBoundary;
    safeForRuntimeInspection: true;
    internalDetailExposed: false;
};
export type DebugSnapshotCollectorResult = {
    ok: true;
    snapshot: DebugSnapshot;
    events: readonly string[];
} | {
    ok: false;
    error: DebugSnapshotError;
    events: readonly string[];
};
export declare const debugSnapshotCollectorDescriptor: {
    readonly surface: "runtime.debug";
    readonly capability: "debugSnapshotCollector";
    readonly purpose: "collect public-safe runtime debug snapshots without exposing raw runtime internals";
    readonly unsafeSideEffects: false;
};
export declare function collectDebugSnapshot(request?: DebugSnapshotCollectorRequest): DebugSnapshotCollectorResult;
