/**
 * @file src/application/services/rule-loading/RuleSetLoader.ts
 * @description Pure functions for loading rule sets from various sources
 */
import { PraetorianRule, RuleLoadResult } from '../../../shared/types/rules';
/**
 * @interface RuleSetLoadOptions
 * @description Options for loading a rule set
 */
export interface RuleSetLoadOptions {
    workingDirectory: string;
    validateRules?: boolean;
}
/**
 * Loads a rule set from a path or URL
 * @param ruleSetPath - Path to rule set (file path or URL)
 * @param options - Loading options
 * @returns Promise with loaded rules
 */
export declare const loadRuleSet: (ruleSetPath: string, options: RuleSetLoadOptions) => Promise<RuleLoadResult>;
/**
 * Loads a core rule set by name
 * @param corePath - Core rule set path (e.g., '@praetorian/core/all')
 * @returns Rule load result
 */
export declare const loadCoreRuleSet: (corePath: string) => RuleLoadResult;
/**
 * Loads rule set from a local file
 * @param filePath - Path to the rule file
 * @param options - Loading options
 * @returns Promise with loaded rules
 */
export declare const loadRuleSetFromFile: (filePath: string, options: RuleSetLoadOptions) => Promise<RuleLoadResult>;
/**
 * Loads rule set from a URL (placeholder for future implementation)
 * @param url - URL to the rule set
 * @returns Promise with loaded rules
 */
export declare const loadRuleSetFromUrl: (url: string) => Promise<RuleLoadResult>;
/**
 * Parses rule file content based on file extension
 * @param content - File content
 * @param filePath - Full file path for extension detection
 * @returns Parsed rules result
 */
export declare const parseRuleFile: (content: string, filePath: string) => RuleLoadResult;
/**
 * Parses content based on file extension
 * @param content - File content
 * @param extension - File extension
 * @returns Parsed content
 */
export declare const parseContentByExtension: (content: string, extension: string) => any;
/**
 * Extracts rules from parsed content
 * @param parsedContent - Parsed file content
 * @returns Array of rules
 */
export declare const extractRulesFromContent: (parsedContent: any) => PraetorianRule[];
/**
 * Checks if a string is a valid URL
 * @param str - String to check
 * @returns True if URL, false otherwise
 */
export declare const isUrl: (str: string) => boolean;
/**
 * Creates an empty rule load result with errors
 * @param errors - Array of error messages
 * @returns Empty result with errors
 */
export declare const createEmptyResult: (errors?: string[]) => RuleLoadResult;
/**
 * Combines multiple rule load results
 * @param results - Array of rule load results
 * @returns Combined result
 */
export declare const combineRuleLoadResults: (results: RuleLoadResult[]) => RuleLoadResult;
//# sourceMappingURL=RuleSetLoader.d.ts.map