/**
 * Spec-review HTTP routes — the standards-conformance gate surface.
 *
 *   POST /spec/conformance-check   — check a spec against the constitution → report
 *   GET  /spec/conformance-metrics — observability funnel (runs, per-standard flags)
 *
 * Signal-only (spec §4): returns a report; never blocks. Operator/skill-callable;
 * classified INTERNAL (build-time tool, not an agent-discoverable runtime capability).
 *
 * Spec: docs/specs/standards-conformance-gate.md §3, §5.
 */
import { Router } from 'express';
import type { IntelligenceProvider } from '../core/types.js';
/**
 * Extract the `parent-principle` value from a spec's YAML frontmatter
 * (Constitutional Traceability). Returns '' when absent — the caller then knows
 * the spec named no parent (a block-worthy condition: name a real parent).
 */
export declare function extractParentPrinciple(md: string): string;
export declare function createSpecReviewRoutes(deps: {
    intelligence: IntelligenceProvider | null;
    /** Path to docs/STANDARDS-REGISTRY.md (the constitution). */
    registryPath: string;
    /** Directory specs are read from; specPath inputs are resolved within it (no traversal). */
    specsDir: string;
    /** Where to persist conformance metrics. */
    stateDir: string;
    /** Master switch; default true. When false, routes 503-stub. */
    enabled?: boolean;
    /** Model tier override (default 'capable'). */
    model?: 'fast' | 'balanced' | 'capable';
}): Router;
/** Exposed for the CLI (no HTTP): run a conformance check on raw markdown. */
export declare function runConformanceCheck(markdown: string, registryMarkdown: string, intelligence: IntelligenceProvider | null, model?: 'fast' | 'balanced' | 'capable'): Promise<{
    report: import("../core/reviewers/standards-conformance.js").ConformanceReport;
    registryCanary: import("../core/StandardsRegistryParser.js").RegistryCanaryResult;
}>;
//# sourceMappingURL=specReviewRoutes.d.ts.map