/**
 * @file src/application/services/rule-loading/DevSecOpsRuleConnector.ts
 * @description DevSecOps Rule Connector - Multi-source rule loading (SOLID SRP + Functional Programming)
 */
import { DevSecOpsConfig, RuleLoadContext, RuleLoadResult } from '../../../shared/types/devsecops-config';
/**
 * @class DevSecOpsRuleConnector
 * @description Connects rule dictionary with multiple sources (SOLID SRP)
 */
export declare class DevSecOpsRuleConnector {
    private readonly workingDirectory;
    constructor(workingDirectory?: string);
    /**
     * Loads rules from DevSecOps configuration (Main Orchestrator Method)
     * @param config - DevSecOps configuration
     * @param context - Loading context
     * @returns Promise with loaded rules and metadata
     */
    loadRulesFromConfig(config: DevSecOpsConfig, context: RuleLoadContext): Promise<RuleLoadResult>;
    /**
     * Loads rules from a specific source (Pure Function with Guard Clauses)
     * @param source - Source configuration
     * @param sourceName - Name of the source
     * @param context - Loading context
     * @returns Promise with source load result
     */
    private loadFromSource;
    /**
     * Loads core rules (Pure Function)
     * @param source - Source configuration
     * @param sourceName - Source name
     * @returns Source load result
     */
    private loadCoreRules;
    /**
     * Loads local rules from file system (Pure Function with Guard Clauses)
     * @param source - Source configuration
     * @param sourceName - Source name
     * @param context - Loading context
     * @returns Promise with source load result
     */
    private loadLocalRules;
    /**
     * Loads rules from directory pattern (Pure Function)
     * @param patternPath - Pattern path (simplified for now)
     * @param sourceName - Source name
     * @returns Promise with source load result
     */
    private loadLocalGlobRules;
    /**
     * Gets rule files from directory (Pure Function)
     * @param dirPath - Directory path
     * @returns Promise with array of file paths
     */
    private getRuleFilesFromDirectory;
    /**
     * Loads rules from single file (Pure Function)
     * @param filePath - File path
     * @param sourceName - Source name
     * @returns Promise with source load result
     */
    private loadLocalSingleFile;
    private loadRemoteRules;
    private loadPackageRules;
    private loadGitRules;
    private validateConfig;
    private getEnvironmentConfig;
    private loadFromSources;
    private mergeSourceResults;
    private applyEnvironmentOverrides;
    private parseRuleFile;
    private extractRulesFromParsedContent;
    private arrayToRuleDictionary;
    private isRuleDictionary;
    private extractErrors;
    private extractWarnings;
    private createEmptyResult;
}
//# sourceMappingURL=DevSecOpsRuleConnector.d.ts.map