/**
 * Java Standards Parser - Parse Java/Kotlin config files for coding standards
 *
 * Supports: checkstyle.xml, pmd.xml, spotbugs.xml, .editorconfig, detekt.yml
 */
import { Logger } from '../../../utils/logger.js';
export interface JavaStandards {
    javaVersion?: string;
    buildTool: 'maven' | 'gradle' | 'unknown';
    checkstyle?: CheckstyleConfig;
    pmd?: PmdConfig;
    spotbugs?: SpotbugsConfig;
    kotlin?: KotlinConfig;
    namingConventions: JavaNamingConventions;
    formatting: JavaFormattingConfig;
    warnings: string[];
}
export interface CheckstyleConfig {
    enabled: boolean;
    configStyle: 'google' | 'sun' | 'custom';
    rules: CheckstyleRule[];
    suppressions: string[];
}
export interface CheckstyleRule {
    module: string;
    properties: Record<string, string>;
}
export interface PmdConfig {
    enabled: boolean;
    rulesets: string[];
    excludedRules: string[];
    minimumPriority?: number;
}
export interface SpotbugsConfig {
    enabled: boolean;
    effort: 'min' | 'default' | 'max';
    reportLevel: 'low' | 'medium' | 'high';
    excludeFilterFile?: string;
}
export interface KotlinConfig {
    enabled: boolean;
    detekt?: DetektConfig;
    ktlint?: KtlintConfig;
}
export interface DetektConfig {
    enabled: boolean;
    configFile?: string;
    rules: string[];
}
export interface KtlintConfig {
    enabled: boolean;
    androidMode: boolean;
}
export interface JavaNamingConventions {
    classes: string;
    methods: string;
    constants: string;
    packages: string;
    interfaces: string;
    typeParameters: string;
}
export interface JavaFormattingConfig {
    indentation: 'spaces' | 'tabs';
    indentSize: number;
    maxLineLength: number;
    braceStyle: 'same_line' | 'next_line';
}
export interface JavaStandardsParserOptions {
    logger?: Logger;
}
export declare class JavaStandardsParser {
    private logger;
    constructor(options?: JavaStandardsParserOptions);
    parse(projectPath: string, configFiles: string[]): Promise<JavaStandards>;
    private parsePomXml;
    private parseGradleBuild;
    private parseCheckstyle;
    private parsePmd;
    private parseSpotbugs;
    private parseEditorconfig;
    private parseDetekt;
    private extractEditorconfigSection;
    private fileExists;
}
/**
 * Convenience function for quick Java standards parsing
 */
export declare function parseJavaStandards(projectPath: string, configFiles: string[], options?: JavaStandardsParserOptions): Promise<JavaStandards>;
//# sourceMappingURL=java-standards-parser.d.ts.map