import { type CliAgentCommandRoutingGraphV1, type CliAgentCommandRoutingFactsV1, type CliAgentCommandRoutingPlanV1, type CliAgentCommandRoutingFailureCode } from '@nexusclaw/shared'; import type { CliCommandInventoryV1 } from './command-inventory'; import { type CliRegisteredCommandPolicyV2 } from './command-policy.registry'; export interface CommandRoutingBuildContext { readonly mode?: 'offline' | 'online'; readonly workspaceId?: string | null; readonly principalScopeDigest?: `sha256:${string}` | null; readonly expiresAt?: string | null; readonly generatedAt?: string; readonly cliVersion?: string; readonly coreCommitSha?: string | null; readonly inventory?: CliCommandInventoryV1; readonly policies?: ReadonlyArray; } export declare function buildCommandRoutingGraph(input?: CommandRoutingBuildContext): CliAgentCommandRoutingGraphV1; export declare function resolveCommandRoutingPlan(graph: CliAgentCommandRoutingGraphV1, routeId: string, facts?: CliAgentCommandRoutingFactsV1): import('@nexusclaw/shared').CliAgentCommandRoutingResolutionV1; export type CommandRoutingDispatchValidation = { readonly ok: true; readonly graphDigest: string; } | { readonly ok: false; readonly code: CliAgentCommandRoutingFailureCode; readonly message: string; }; export declare function validateCommandRoutingPlanForDispatch(plan: CliAgentCommandRoutingPlanV1, argv: ReadonlyArray, graph: CliAgentCommandRoutingGraphV1, explicitUserAuthority?: boolean): CommandRoutingDispatchValidation;