import { RuleConfig, RuleProvider, RuleGeneratorOptions } from "../types.js"; export declare class ClaudeCodeRuleProvider implements RuleProvider { private readonly ruleType; /** * Generates formatted content for Claude Code including metadata. * This content is intended to be placed within the block. */ generateRuleContent(config: RuleConfig, options?: RuleGeneratorOptions): string; /** * Saves a rule definition to internal storage for later use. * @param config - The rule configuration. * @returns Path where the rule definition was saved internally. */ saveRule(config: RuleConfig): Promise; /** * Loads a rule definition from internal storage. * @param name - The name of the rule to load. * @returns The RuleConfig if found, otherwise null. */ loadRule(name: string): Promise; /** * Lists rule definitions available in internal storage. * @returns An array of rule names. */ listRules(): Promise; /** * Applies a rule by updating the section in the target CLAUDE.md. * If targetPath is omitted, it determines local vs global based on isGlobal option. */ appendRule(name: string, targetPath?: string, isGlobal?: boolean, options?: RuleGeneratorOptions): Promise; /** * Formats and applies a rule directly from a RuleConfig object using XML-like tags. * If a rule with the same name (tag) already exists, its content is updated. */ appendFormattedRule(config: RuleConfig, targetPath: string, isGlobal?: boolean, options?: RuleGeneratorOptions): Promise; /** * Removes a rule from Claude Code configuration */ removeRule(name: string, targetPath?: string, isGlobal?: boolean): Promise; }