/**
 * AST Transform Types
 *
 * Types for AST-based code transformations.
 *
 * @module autofix/ast/types
 */
import type { Severity } from "../../certification/types.js";
export type SupportedLanguage = "typescript" | "javascript";
export interface ASTTransformPattern {
    id: string;
    name: string;
    description: string;
    language: SupportedLanguage | SupportedLanguage[];
    category: string;
    severity: Severity;
    risk: "low" | "medium" | "high";
    safeToAutoApply: boolean;
}
export interface ASTTransformContext {
    filePath: string;
    projectPath: string;
    finding: {
        id: string;
        file: string;
        line: number;
        category: string;
        description: string;
    };
}
export interface ASTTransformResult {
    success: boolean;
    filePath: string;
    originalCode: string;
    transformedCode: string;
    changesApplied: ASTChange[];
    error?: string;
}
export interface ASTChange {
    type: "insert" | "replace" | "delete";
    startLine: number;
    endLine: number;
    startColumn?: number;
    endColumn?: number;
    originalText: string;
    newText: string;
    description: string;
}
export interface SQLInjectionFix {
    type: "parameterized-query" | "prepared-statement" | "orm-method";
    originalQuery: string;
    safeQuery: string;
    parameters: string[];
}
export interface XSSFix {
    type: "sanitize" | "escape" | "safe-method";
    originalCode: string;
    safeCode: string;
    sanitizer?: string;
}
export interface SecretsFix {
    type: "env-variable" | "config-file" | "secret-manager";
    secretName: string;
    envVarName: string;
    originalValue: string;
}
export interface IDORFix {
    type: "ownership-check" | "access-control";
    resourceType: string;
    checkCode: string;
}
export interface AuthBypassFix {
    type: "middleware" | "decorator" | "guard";
    authCode: string;
    placement: "before" | "wrap";
}
//# sourceMappingURL=types.d.ts.map