import type { MemoryRule } from "../types/memoryRule.js";
import { Container } from "../utils/container.js";
export interface MemoryRuleRegistryState {
    /** All discovered rules, indexed by ID */
    rules: Record<string, MemoryRule>;
    /** Set of active rule IDs based on the current context */
    activeRuleIds: Set<string>;
}
export interface MemoryRuleManagerOptions {
    workdir: string;
}
export declare class MemoryRuleManager {
    private container;
    private state;
    private workdir;
    private service;
    constructor(container: Container, options: MemoryRuleManagerOptions);
    /**
     * Scans .wave/rules and ~/.wave/rules for memory rule files.
     */
    discoverRules(): Promise<void>;
    private scanDirectory;
    private loadRuleFile;
    /**
     * Returns the union of all active memory rules based on the provided file paths.
     */
    getActiveRules(filesInContext: string[]): MemoryRule[];
    /**
     * Reloads rules from disk.
     */
    reload(): Promise<void>;
}
//# sourceMappingURL=MemoryRuleManager.d.ts.map