/** * Result of glob matching with tracking of unmatched patterns. */ export interface GlobResult { paths: string[]; unmatchedPatterns: string[]; } /** * Find all rule file paths matching the given glob patterns. * * Uses globby for efficient pattern matching with support for negation patterns. * Patterns are validated by Zod before reaching this function. * * Also tracks which positive patterns matched no files, useful for detecting * outdated or misspelled patterns. * * @param rulesDir - Absolute path to the central rules directory * @param patterns - POSIX-style glob patterns (must use forward slashes) * @returns Object containing sorted paths and list of unmatched positive patterns */ export declare function globRulePaths(rulesDirectory: string, patterns: string[]): Promise; /** * Represents a loaded rule file with its path and content. */ export interface Rule { path: string; content: string; } /** * Read contents of multiple rule files concurrently. * * @param rulesDir - Absolute path to the central rules directory * @param relPaths - Array of relative paths to read (from globRulePaths) * @returns Array of Rule objects containing path and content * @throws {SyncError} If any file cannot be read */ export declare function readRuleContents(rulesDirectory: string, relativePaths: string[]): Promise; /** * Result of loading rules with tracking of unmatched patterns. */ interface LoadRulesResult { rules: Rule[]; unmatchedPatterns: string[]; } /** * Load all rules matching the given patterns. * * Convenience function combining glob matching and file reading. * Also reports which patterns didn't match any files. * * @param rulesDir - Absolute path to the central rules directory * @param patterns - POSIX-style glob patterns for selecting rules * @returns Object containing loaded rules and list of unmatched patterns */ export declare function loadRules(rulesDirectory: string, patterns: string[], globResult?: GlobResult): Promise; export {};