/**
 * Go Standards Parser - Parse Go config files for coding standards
 *
 * Supports: go.mod, .golangci.yml/.golangci.yaml, staticcheck.conf
 */
import { Logger } from '../../../utils/logger.js';
export interface GoStandards {
    goVersion: string;
    modulePath: string;
    linter?: GolangciLintConfig;
    staticcheck?: StaticcheckConfig;
    namingConventions: GoNamingConventions;
    errorHandling: ErrorHandlingConfig;
    formatting: FormattingConfig;
    warnings: string[];
}
export interface GolangciLintConfig {
    name: 'golangci-lint';
    enabledLinters: string[];
    disabledLinters: string[];
    presets?: string[];
    config: Record<string, unknown>;
}
export interface StaticcheckConfig {
    enabled: boolean;
    checks: string[];
}
export interface GoNamingConventions {
    packages: string;
    exported: string;
    unexported: string;
    interfaces: string;
    receiverNames: string;
    acronyms: string;
}
export interface ErrorHandlingConfig {
    errcheckEnabled: boolean;
    wrapperPattern?: string;
    sentinelErrors: boolean;
}
export interface FormattingConfig {
    gofmt: boolean;
    goimports: boolean;
    gofumpt: boolean;
}
export interface GoStandardsParserOptions {
    logger?: Logger;
}
export declare class GoStandardsParser {
    private logger;
    constructor(options?: GoStandardsParserOptions);
    parse(projectPath: string, configFiles: string[]): Promise<GoStandards>;
    private parseGoMod;
    private parseGolangciLint;
    private parseStaticcheck;
    private extractYamlList;
    private extractYamlSection;
    private fileExists;
}
/**
 * Convenience function for quick Go standards parsing
 */
export declare function parseGoStandards(projectPath: string, configFiles: string[], options?: GoStandardsParserOptions): Promise<GoStandards>;
//# sourceMappingURL=go-standards-parser.d.ts.map