import { type SecurityRule } from "../data/rules/index.js"; export interface Finding { rule: SecurityRule; match: string; line: number; confidence: "high" | "medium" | "low"; } /** * Detect if a file is a security rule definition file. * These files intentionally contain vulnerable code patterns * as regex matchers and fixCode examples — scanning them is meaningless. */ export declare function isRuleDefinitionFile(code: string, filePath?: string): boolean; export declare function analyzeCode(code: string, language: string, framework?: string, filePath?: string, configDir?: string, rules?: SecurityRule[]): Finding[]; export declare function formatFindingsJson(findings: Finding[], extra?: Record): string; export declare function checkCode(code: string, language: string, framework?: string, filePath?: string, configDir?: string, format?: "markdown" | "json" | "buddy", rules?: SecurityRule[]): string; /** * Render a pre-computed Finding[] into the requested output format. Split out of * `checkCode` so the `check` path can run the combined analyzer (`analyzeFileSecurity` * = regex + taint + secrets) and still reuse the exact same rendering. */ export declare function renderFindings(findings: Finding[], language: string, framework?: string, format?: "markdown" | "json" | "buddy", filePath?: string): string;