/**
 * NEXUS_SCOPE_MAP — Single Source of Truth for Nexus operation metadata.
 *
 * Maps every key of {@link NexusOps} to a {@link NexusOperationDescriptor},
 * enabling compile-time exhaustiveness checking (via `_ExhaustivenessCheck`)
 * and runtime helpers (`getNexusDescriptor`, `listOpsByScope`).
 *
 * To add a new Nexus operation:
 * 1. Add the key to `NexusOps` in `nexus.ts`.
 * 2. Add the corresponding entry here — the build will fail until both are present.
 *
 * @task T9145
 * @module operations/nexus-scope-map
 */
import type { NexusOps } from './nexus.js';
import type { NexusOperationDescriptor } from './nexus-scope.js';
/**
 * Single Source of Truth mapping every NexusOps key to its descriptor.
 *
 * `satisfies Record<keyof NexusOps, NexusOperationDescriptor>` enforces
 * exhaustiveness at compile time — adding a new key to NexusOps without a
 * corresponding entry here is a type error.
 */
export declare const NEXUS_SCOPE_MAP: {
    readonly status: {
        readonly op: "status";
        readonly description: "Check whether nexus.db is open and accessible.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly list: {
        readonly op: "list";
        readonly description: "List all registered Nexus projects.";
        readonly scope: "global";
        readonly effect: "read";
        readonly stores: readonly ["nexus-registry"];
        readonly requiresProject: false;
    };
    readonly show: {
        readonly op: "show";
        readonly description: "Show details for a registered project.";
        readonly scope: "global";
        readonly effect: "read";
        readonly stores: readonly ["nexus-registry"];
        readonly requiresProject: false;
    };
    readonly resolve: {
        readonly op: "resolve";
        readonly description: "Resolve a symbol name to its graph node(s).";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly deps: {
        readonly op: "deps";
        readonly description: "List dependencies of a symbol (callers or callees).";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly graph: {
        readonly op: "graph";
        readonly description: "Return the raw graph (nodes + relations) for a project.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'path.show': {
        readonly op: "path.show";
        readonly description: "Show the shortest graph path between two symbols.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'blockers.show': {
        readonly op: "blockers.show";
        readonly description: "Show symbols that block a given symbol from being resolved.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'orphans.list': {
        readonly op: "orphans.list";
        readonly description: "List graph nodes with no incoming or outgoing edges.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly discover: {
        readonly op: "discover";
        readonly description: "Discover the codebase structure (file tree + symbol counts).";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph", "fs"];
        readonly requiresProject: true;
    };
    readonly search: {
        readonly op: "search";
        readonly description: "Full-text / semantic search over symbol names and docstrings.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly augment: {
        readonly op: "augment";
        readonly description: "Augment the graph with enriched metadata (embeddings, docs).";
        readonly scope: "project";
        readonly effect: "write";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'share.status': {
        readonly op: "share.status";
        readonly description: "Check snapshot sharing status for a project.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'transfer.preview': {
        readonly op: "transfer.preview";
        readonly description: "Preview a graph transfer (dry-run diff).";
        readonly scope: "cross";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'top-entries': {
        readonly op: "top-entries";
        readonly description: "Return the top-N highest-centrality nodes.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly impact: {
        readonly op: "impact";
        readonly description: "Compute the blast radius (upstream/downstream) of a change.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
        readonly indexSensitive: true;
    };
    readonly 'full-context': {
        readonly op: "full-context";
        readonly description: "Return the full 360-degree context for a symbol.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'task-footprint': {
        readonly op: "task-footprint";
        readonly description: "Return graph nodes touched by a given task ID.";
        readonly scope: "hybrid";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph", "tasks"];
        readonly requiresProject: true;
    };
    readonly 'brain-anchors': {
        readonly op: "brain-anchors";
        readonly description: "Return BRAIN memory entries anchored to graph nodes.";
        readonly scope: "hybrid";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph", "brain"];
        readonly requiresProject: true;
    };
    readonly why: {
        readonly op: "why";
        readonly description: "Explain why a symbol exists (provenance + context).";
        readonly scope: "hybrid";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph", "brain"];
        readonly requiresProject: true;
    };
    readonly 'impact-full': {
        readonly op: "impact-full";
        readonly description: "Full multi-hop impact analysis with community context.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
        readonly indexSensitive: true;
    };
    readonly 'route-map': {
        readonly op: "route-map";
        readonly description: "Generate a route map for execution flow tracing.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'shape-check': {
        readonly op: "shape-check";
        readonly description: "Validate that a symbol conforms to a declared contract shape.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'search-code': {
        readonly op: "search-code";
        readonly description: "Search code by pattern across the project graph.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph", "fs"];
        readonly requiresProject: true;
    };
    readonly wiki: {
        readonly op: "wiki";
        readonly description: "Generate a wiki-style description for a symbol or module.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'contracts-show': {
        readonly op: "contracts-show";
        readonly description: "Show the contract compliance record for a symbol.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'task-symbols': {
        readonly op: "task-symbols";
        readonly description: "List graph symbols associated with a task.";
        readonly scope: "hybrid";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph", "tasks"];
        readonly requiresProject: true;
    };
    readonly 'profile.view': {
        readonly op: "profile.view";
        readonly description: "View all user profile traits from the living-brain.";
        readonly scope: "living-brain";
        readonly effect: "read";
        readonly stores: readonly ["brain"];
        readonly requiresProject: false;
    };
    readonly 'profile.get': {
        readonly op: "profile.get";
        readonly description: "Get a single user profile trait.";
        readonly scope: "living-brain";
        readonly effect: "read";
        readonly stores: readonly ["brain"];
        readonly requiresProject: false;
    };
    readonly 'profile.import': {
        readonly op: "profile.import";
        readonly description: "Import user profile traits from a JSON file.";
        readonly scope: "living-brain";
        readonly effect: "write";
        readonly stores: readonly ["brain"];
        readonly requiresProject: false;
    };
    readonly 'profile.export': {
        readonly op: "profile.export";
        readonly description: "Export user profile traits to JSON.";
        readonly scope: "living-brain";
        readonly effect: "read";
        readonly stores: readonly ["brain"];
        readonly requiresProject: false;
    };
    readonly 'profile.reinforce': {
        readonly op: "profile.reinforce";
        readonly description: "Reinforce a user profile trait (increase confidence).";
        readonly scope: "living-brain";
        readonly effect: "write";
        readonly stores: readonly ["brain"];
        readonly requiresProject: false;
    };
    readonly 'profile.upsert': {
        readonly op: "profile.upsert";
        readonly description: "Upsert a user profile trait.";
        readonly scope: "living-brain";
        readonly effect: "write";
        readonly stores: readonly ["brain"];
        readonly requiresProject: false;
    };
    readonly 'profile.supersede': {
        readonly op: "profile.supersede";
        readonly description: "Mark a user profile trait as superseded by another.";
        readonly scope: "living-brain";
        readonly effect: "write";
        readonly stores: readonly ["brain"];
        readonly requiresProject: false;
    };
    readonly 'sigil.list': {
        readonly op: "sigil.list";
        readonly description: "List code sigils (bookmarks / anchors) in a project.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'sigil.sync': {
        readonly op: "sigil.sync";
        readonly description: "Sync sigils with the current graph state.";
        readonly scope: "project";
        readonly effect: "write";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly init: {
        readonly op: "init";
        readonly description: "Initialize a new Nexus project database.";
        readonly scope: "project";
        readonly effect: "admin";
        readonly stores: readonly ["nexus-graph", "nexus-registry"];
        readonly requiresProject: true;
    };
    readonly register: {
        readonly op: "register";
        readonly description: "Register a project with the global Nexus registry.";
        readonly scope: "global";
        readonly effect: "admin";
        readonly stores: readonly ["nexus-registry"];
        readonly requiresProject: false;
    };
    readonly unregister: {
        readonly op: "unregister";
        readonly description: "Remove a project from the global Nexus registry.";
        readonly scope: "global";
        readonly effect: "admin";
        readonly stores: readonly ["nexus-registry"];
        readonly requiresProject: false;
    };
    readonly sync: {
        readonly op: "sync";
        readonly description: "Re-analyze and sync the project graph with the codebase.";
        readonly scope: "project";
        readonly effect: "write";
        readonly stores: readonly ["nexus-graph", "fs"];
        readonly requiresProject: true;
    };
    readonly 'permission.set': {
        readonly op: "permission.set";
        readonly description: "Set access permissions for a Nexus project.";
        readonly scope: "global";
        readonly effect: "admin";
        readonly stores: readonly ["nexus-registry"];
        readonly requiresProject: false;
    };
    readonly reconcile: {
        readonly op: "reconcile";
        readonly description: "Reconcile graph state with on-disk source files.";
        readonly scope: "project";
        readonly effect: "write";
        readonly stores: readonly ["nexus-graph", "fs"];
        readonly requiresProject: true;
    };
    readonly 'share.snapshot.export': {
        readonly op: "share.snapshot.export";
        readonly description: "Export a shareable snapshot of the project graph.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph", "fs"];
        readonly requiresProject: true;
    };
    readonly 'share.snapshot.import': {
        readonly op: "share.snapshot.import";
        readonly description: "Import a shared project graph snapshot.";
        readonly scope: "project";
        readonly effect: "write";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly transfer: {
        readonly op: "transfer";
        readonly description: "Transfer graph data between projects.";
        readonly scope: "cross";
        readonly effect: "write";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'contracts-sync': {
        readonly op: "contracts-sync";
        readonly description: "Sync contract compliance records with the graph.";
        readonly scope: "project";
        readonly effect: "write";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'contracts-link-tasks': {
        readonly op: "contracts-link-tasks";
        readonly description: "Link contract compliance records to task IDs.";
        readonly scope: "hybrid";
        readonly effect: "write";
        readonly stores: readonly ["nexus-graph", "tasks"];
        readonly requiresProject: true;
    };
    readonly 'conduit-scan': {
        readonly op: "conduit-scan";
        readonly description: "Scan Conduit messaging patterns into the graph.";
        readonly scope: "project";
        readonly effect: "write";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly clusters: {
        readonly op: "clusters";
        readonly description: "Return detected community clusters in the graph.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly flows: {
        readonly op: "flows";
        readonly description: "Return detected execution flows (process traces).";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly context: {
        readonly op: "context";
        readonly description: "Return project context summary (node/relation counts, freshness).";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
        readonly indexSensitive: true;
    };
    readonly 'projects.list': {
        readonly op: "projects.list";
        readonly description: "List all registered projects (alias: list).";
        readonly scope: "global";
        readonly effect: "read";
        readonly stores: readonly ["nexus-registry"];
        readonly requiresProject: false;
    };
    readonly 'projects.register': {
        readonly op: "projects.register";
        readonly description: "Register a project (alias: register).";
        readonly scope: "global";
        readonly effect: "admin";
        readonly stores: readonly ["nexus-registry"];
        readonly requiresProject: false;
    };
    readonly 'projects.remove': {
        readonly op: "projects.remove";
        readonly description: "Remove a project (alias: unregister).";
        readonly scope: "global";
        readonly effect: "admin";
        readonly stores: readonly ["nexus-registry"];
        readonly requiresProject: false;
    };
    readonly 'projects.scan': {
        readonly op: "projects.scan";
        readonly description: "Scan a project directory and update the registry.";
        readonly scope: "global";
        readonly effect: "admin";
        readonly stores: readonly ["nexus-registry", "fs"];
        readonly requiresProject: false;
    };
    readonly 'projects.clean': {
        readonly op: "projects.clean";
        readonly description: "Remove stale project entries from the registry.";
        readonly scope: "global";
        readonly effect: "admin";
        readonly stores: readonly ["nexus-registry"];
        readonly requiresProject: false;
    };
    readonly 'refresh-bridge': {
        readonly op: "refresh-bridge";
        readonly description: "Refresh the Nexus → BRAIN cross-store bridge.";
        readonly scope: "hybrid";
        readonly effect: "write";
        readonly stores: readonly ["nexus-graph", "brain"];
        readonly requiresProject: true;
    };
    readonly diff: {
        readonly op: "diff";
        readonly description: "Diff the graph between two commits or snapshots.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph", "fs"];
        readonly requiresProject: true;
        readonly indexSensitive: true;
    };
    readonly 'query-cte': {
        readonly op: "query-cte";
        readonly description: "Execute a raw CTE query against the Nexus graph DB.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'hot-paths': {
        readonly op: "hot-paths";
        readonly description: "Return the most frequently traversed call paths.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'hot-nodes': {
        readonly op: "hot-nodes";
        readonly description: "Return the highest-degree (most connected) nodes.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
    readonly 'cold-symbols': {
        readonly op: "cold-symbols";
        readonly description: "Return low-usage symbols that may be candidates for removal.";
        readonly scope: "project";
        readonly effect: "read";
        readonly stores: readonly ["nexus-graph"];
        readonly requiresProject: true;
    };
};
/**
 * Return the {@link NexusOperationDescriptor} for a given Nexus operation key.
 *
 * @param op - Any key of {@link NexusOps}
 * @returns The corresponding descriptor
 */
export declare function getNexusDescriptor(op: keyof NexusOps): NexusOperationDescriptor;
/**
 * Return all Nexus operation keys that match a given {@link NexusScope}.
 *
 * @param scope - The scope to filter by
 * @returns Array of matching operation keys
 */
export declare function listOpsByScope(scope: import('./nexus-scope.js').NexusScope): Array<keyof NexusOps>;
//# sourceMappingURL=nexus-scope-map.d.ts.map