/**
 * Prompt Module System
 *
 * Provides category-aware prompt assembly for AI validation.
 * Only includes relevant prompt sections based on the categories in each batch,
 * reducing token usage by ~40-60% while maintaining identical behavior.
 *
 * Modules are assembled in fixed order to maximize Anthropic prefix cache hits.
 */
import type { VulnerabilityCategory } from '../../../../types';
export type PromptModuleName = 'auth_access' | 'xss_prompt' | 'secrets_crypto' | 'ai_patterns' | 'owasp_classic';
export interface PromptModule {
    name: PromptModuleName;
    content: string;
    categories: ReadonlySet<VulnerabilityCategory>;
}
/**
 * Maps each VulnerabilityCategory to the module(s) it requires.
 * Categories not in this map get COMMON only (intentionally unmapped).
 */
export declare const CATEGORY_TO_MODULE: ReadonlyMap<VulnerabilityCategory, PromptModuleName[]>;
/**
 * Categories that are intentionally unmapped to any specific module.
 * They get the COMMON prompt only (which includes condensed heuristic reminders).
 * If a new category is added to VulnerabilityCategory but not here or in CATEGORY_TO_MODULE,
 * the category completeness test will fail.
 */
export declare const INTENTIONALLY_UNMAPPED: ReadonlySet<VulnerabilityCategory>;
/**
 * Assemble a validation prompt containing only the modules relevant to
 * the given set of vulnerability categories.
 *
 * Always starts with COMMON, then adds modules in fixed order:
 * auth_access -> xss_prompt -> secrets_crypto -> ai_patterns -> owasp_classic
 *
 * Deterministic ordering ensures Anthropic prefix cache hits across batches.
 *
 * @param categories - The vulnerability categories present in the current batch
 * @returns The assembled prompt string
 */
export declare function assembleValidationPrompt(categories: VulnerabilityCategory[]): string;
/**
 * Get the full validation prompt with all modules included.
 * Equivalent to the old monolithic HIGH_CONTEXT_VALIDATION_PROMPT.
 * Used for legacy compatibility and the completeness test.
 */
export declare function getFullValidationPrompt(): string;
export { COMMON_PROMPT } from './common';
export { AUTH_ACCESS_MODULE } from './auth-access';
export { XSS_PROMPT_MODULE } from './xss-prompt';
export { SECRETS_CRYPTO_MODULE } from './secrets-crypto';
export { AI_PATTERNS_MODULE } from './ai-patterns';
export { OWASP_CLASSIC_MODULE } from './owasp-classic';
//# sourceMappingURL=index.d.ts.map