/**
 * LLM Artifact Detection System
 *
 * Detects files and content generated by LLMs that may not be suitable for production
 * Focuses on development artifacts, debug scripts, and temporary files
 */
export interface LLMArtifactPattern {
    name: string;
    description: string;
    category: 'debug' | 'testing' | 'documentation' | 'experimental' | 'temporary' | 'tutorial';
    severity: 'error' | 'warning' | 'info';
    filePattern?: RegExp;
    contentPattern?: RegExp;
    combinedPattern?: (fileName: string, content: string) => boolean;
    locationExceptions: string[];
    confidence: number;
}
export interface LLMArtifactMatch {
    pattern: LLMArtifactPattern;
    matchType: 'filename' | 'content' | 'combined';
    match: string;
    line?: number;
    context?: string;
    confidence: number;
    suggestions: string[];
}
export interface LLMArtifactResult {
    filePath: string;
    isLLMArtifact: boolean;
    matches: LLMArtifactMatch[];
    overallConfidence: number;
    severity: 'error' | 'warning' | 'info';
    recommendations: string[];
    allowedInCurrentLocation: boolean;
}
/**
 * Comprehensive LLM artifact patterns
 */
export declare const LLM_ARTIFACT_PATTERNS: LLMArtifactPattern[];
/**
 * Detect LLM artifacts in a file
 */
export declare function detectLLMArtifacts(filePath: string, content: string, customPatterns?: LLMArtifactPattern[]): LLMArtifactResult;
/**
 * Batch analyze multiple files
 */
export declare function batchDetectLLMArtifacts(files: Array<{
    path: string;
    content: string;
}>, customPatterns?: LLMArtifactPattern[]): LLMArtifactResult[];
/**
 * Get summary statistics for LLM artifact detection
 */
export declare function getLLMArtifactSummary(results: LLMArtifactResult[]): {
    totalFiles: number;
    artifactFiles: number;
    allowedFiles: number;
    errorCount: number;
    warningCount: number;
    infoCount: number;
    categorySummary: Record<string, number>;
    topPatterns: Array<{
        name: string;
        count: number;
    }>;
};
/**
 * Create a custom LLM artifact pattern
 */
export declare function createLLMPattern(name: string, description: string, category: LLMArtifactPattern['category'], severity: LLMArtifactPattern['severity'], options: {
    filePattern?: string;
    contentPattern?: string;
    locationExceptions?: string[];
    confidence?: number;
}): LLMArtifactPattern;
//# sourceMappingURL=llm-artifact-detector.d.ts.map