import { z } from 'zod';
import type { ComplianceFrameworkDef } from '../types/index.js';
export declare const ComplianceFrameworkDefSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    fullName: z.ZodString;
    type: z.ZodEnum<{
        security: "security";
        testing: "testing";
        quality: "quality";
        accessibility: "accessibility";
        privacy: "privacy";
    }>;
    regions: z.ZodArray<z.ZodString>;
    triggerKeywords: z.ZodArray<z.ZodString>;
    dataTypes: z.ZodArray<z.ZodString>;
    criteria: z.ZodArray<z.ZodString>;
    references: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export type { ComplianceFrameworkDef };
/**
 * Load all compliance framework definitions from the 3-layer config system.
 */
export declare function loadComplianceFrameworkDefs(projectHash?: string): ComplianceFrameworkDef[];
/**
 * Detect which compliance frameworks apply to the given context.
 *
 * A framework is applicable when ANY of its triggerKeywords appear in the
 * combined context string (spec description + project stack).
 */
export declare function detectApplicableFrameworks(context: string, projectHash?: string): ComplianceFrameworkDef[];
/**
 * Generate acceptance criteria to inject into a spec based on detected frameworks.
 * Deduplicates criteria across frameworks and caps at maxCriteria (default: 8).
 */
export declare function generateComplianceCriteria(context: string, projectHash?: string, maxCriteria?: number): string[];
/**
 * Build a markdown compliance section summarizing detected frameworks and their criteria.
 * Intended for injection into technical.md.
 */
export declare function buildComplianceSection(context: string, projectHash?: string): string;
/**
 * Get framework by ID. Returns undefined if not found.
 */
export declare function getFrameworkById(id: string, projectHash?: string): ComplianceFrameworkDef | undefined;
//# sourceMappingURL=compliance-injector.d.ts.map