/**
 * Synthesis Router — ADR-007 Implementation
 *
 * Enterprise-grade subcommand-aware routing layer. Intercepts decision-grade
 * subcommands, constructs a prompt, invokes Claude Code, and returns
 * contract-validated output with full traceability metadata.
 *
 * INVARIANTS:
 * - Only DECISION_GRADE_SUBCOMMANDS can trigger Claude Code invocation
 * - Every invocation produces exactly one Claude Code call
 * - All returned data is contract-validated against the mapped schema
 * - SYNTHESIS_FORBIDDEN commands never reach the Claude Code runner
 * - The prompt, run-id, seed, and synthesis class are always in the result
 * - Errors are wrapped with routing context for diagnostics
 * - User-provided correlationId flows through the entire pipeline
 *
 * FORBIDDEN:
 * - Calling Claude Code for SYNTHESIS_FORBIDDEN commands
 * - Writing artifacts (ADR-008 handles that)
 * - Calling the platform API (command executors handle that)
 * - Mutating CLI state
 * - Interactive confirmation (the CLI's gate pipeline handles that)
 */
import type { SynthesisRequest, SynthesisResult, SynthesisGovernanceClass, SynthesisPromptResult } from '../contracts/adr-007-subcommand-synthesis-router.js';
/**
 * Determine the synthesis governance class for a (command, subcommand) pair.
 *
 * @returns 'COMMITMENT_GRADE' or 'SYNTHESIS_REQUIRED' for decision-grade commands, null otherwise
 */
export declare function getSynthesisClass(command: string, subcommand: string): SynthesisGovernanceClass | null;
/**
 * Check if a (command, subcommand) pair is decision-grade.
 * Convenience function for use in CLI dispatch.
 */
export declare function isDecisionGrade(command: string, subcommand?: string): boolean;
/**
 * Build a synthesis prompt without invoking Claude Code.
 *
 * Useful for:
 * - Dry-run mode: inspect what would be sent to Claude Code
 * - Testing: verify prompt generation in isolation
 * - Debugging: see the exact prompt for a given (command, subcommand)
 *
 * Executes all four routing gates but stops before subprocess invocation.
 *
 * @returns SynthesisPromptResult with prompt and metadata, or null if not decision-grade
 * @throws CLIError on missing template or schema (internal configuration errors)
 */
export declare function buildSynthesisPrompt(request: SynthesisRequest): SynthesisPromptResult | null;
/**
 * Route a command through the synthesis pipeline.
 *
 * This is the primary entry point for ADR-007. The flow is:
 *
 * 1. Validate request structure
 * 2. Execute routing gates (decision-grade check, ADR-001 agreement,
 *    template existence, schema mapping)
 * 3. Determine synthesis governance class (SYNTHESIS_REQUIRED or COMMITMENT_GRADE)
 * 4. Generate run-id, seed, and prompt
 * 5. Invoke Claude Code via ADR-006 runner with contract validation
 * 6. Return result with full traceability metadata
 *
 * For non-decision-grade commands, returns null immediately with zero overhead.
 *
 * @returns SynthesisResult if the command is decision-grade, null otherwise
 * @throws CLIError on router configuration errors (ECLI-SYNTH-010/011/020/021)
 * @throws SynthesisError on Claude Code invocation failures (ECLI-SYNTH-001..005)
 */
export declare function routeSynthesis(request: SynthesisRequest): SynthesisResult | null;
//# sourceMappingURL=router.d.ts.map