/** * Rule Runner - Orchestrates LLM-powered HIPAA rule execution */ import { CostTracker } from '../cost-tracker.js'; import { AICache } from '../cache.js'; import { RateLimiter } from '../rate-limiter.js'; import type { AIFinding } from './types.js'; export interface LLMRule { id: string; name: string; category: string; systemPrompt: string; userPromptTemplate: (sanitizedCode: string, filePath: string) => string; } export declare class RuleRunner { private cache; private rateLimiter; private costTracker; constructor(costTracker: CostTracker, cache?: AICache, rateLimiter?: RateLimiter); runRule(rule: LLMRule, fileContent: string, filePath: string): Promise; private convertToAIFindings; runRulesOnFile(rules: LLMRule[], fileContent: string, filePath: string): Promise; getStats(): { cost: { totalCalls: number; totalInputTokens: number; totalOutputTokens: number; estimatedCost: number; }; rateLimit: { callsThisMinute: number; totalCalls: number; }; }; } //# sourceMappingURL=rule-runner.d.ts.map