export type RuntimeDependencyGraphNodeKind = "application-surface" | "official-module-surface" | "contract-surface" | "governance-plane" | "invocation-method" | "inspection-surface" | "debug-surface" | "runtime-extension";
export type RuntimeDependencyGraphBoundary = "input" | "contract" | "governance" | "runtime-state" | "graph";
export type RuntimeDependencyGraphErrorCode = "MISSING_RUNTIME_ID" | "MISSING_GRAPH_INPUT" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "MISSING_NODE_ID" | "MISSING_NODE_KIND" | "DUPLICATE_NODE_ID" | "UNKNOWN_DEPENDENCY" | "SELF_DEPENDENCY" | "CYCLIC_DEPENDENCY";
export type RuntimeDependencyGraphGate = {
    accepted: boolean;
    reason?: string;
};
export type RuntimeDependencyGraphNodeDescriptor = {
    nodeId?: string;
    kind?: RuntimeDependencyGraphNodeKind;
    label?: string;
    dependsOn?: readonly string[];
    ready?: boolean;
    required?: boolean;
};
export type RuntimeDependencyGraphNode = {
    nodeId: string;
    kind: RuntimeDependencyGraphNodeKind;
    label?: string;
    dependsOn: readonly string[];
    ready: boolean;
    required: boolean;
};
export type RuntimeDependencyGraphEdge = {
    fromNodeId: string;
    toNodeId: string;
};
export type RuntimeDependencyGraphIssue = {
    nodeId: string;
    reason: string;
};
export type RuntimeDependencyGraphSnapshot = {
    runtimeId: string;
    graphSurface: "runtime.runtimeDependencyGraph";
    nodes: readonly RuntimeDependencyGraphNode[];
    edges: readonly RuntimeDependencyGraphEdge[];
    evaluationOrder: readonly string[];
    blockingIssues: readonly RuntimeDependencyGraphIssue[];
    contractChecked: true;
    governanceChecked: true;
    unsafeSideEffects: false;
};
export type RuntimeDependencyGraphRequest = {
    runtimeId?: string;
    runtimeReady?: boolean;
    nodes?: readonly RuntimeDependencyGraphNodeDescriptor[];
    contract?: RuntimeDependencyGraphGate;
    governance?: RuntimeDependencyGraphGate;
};
export type RuntimeDependencyGraphError = {
    code: RuntimeDependencyGraphErrorCode;
    message: string;
    boundary: RuntimeDependencyGraphBoundary;
    safeForRuntimeInspection: true;
};
export type RuntimeDependencyGraphResult = {
    ok: true;
    graph: RuntimeDependencyGraphSnapshot;
    events: readonly string[];
} | {
    ok: false;
    error: RuntimeDependencyGraphError;
    events: readonly string[];
};
export declare const runtimeDependencyGraphDescriptor: {
    readonly surface: "runtime.runtimeDependencyGraph";
    readonly capability: "runtimeDependencyGraph";
    readonly purpose: "normalize runtime dependency declarations into a readonly graph for inspection and invocation planning";
    readonly unsafeSideEffects: false;
};
export declare function buildRuntimeDependencyGraph(request?: RuntimeDependencyGraphRequest): RuntimeDependencyGraphResult;
