/** * World Rules Builder * Helps create and manage world rule YAML files */ import type { WorldRuleYAML } from '../types/novel.js'; export declare class WorldRulesBuilder { private projectPath; private outputDir; constructor(projectPath: string, outputDir?: string); /** * Create a new world rule YAML file */ create(ruleData: WorldRuleYAML, filename?: string): Promise; /** * Generate filename from rule name */ private generateFilename; /** * Write world rule data to YAML file */ private writeRuleFile; /** * Validate world rule data */ validate(ruleData: Partial): string[]; /** * List all world rule files */ list(): Promise; /** * Interactive creation helper */ createInteractive(options: { name: string; category: 'magic' | 'technology' | 'physics' | 'social' | 'political'; description: string; limitations?: string; is_hard_rule?: boolean; }): Promise; /** * Add an example to existing world rule */ addExample(ruleFilePath: string, example: string): Promise; /** * Add an exception to existing world rule */ addException(ruleFilePath: string, exception: string): Promise; /** * Update world rule limitations */ updateLimitations(ruleFilePath: string, limitations: string): Promise; /** * Mark where rule was established */ markEstablished(ruleFilePath: string, chapter?: number, scene?: string, quote?: string): Promise; /** * Toggle hard rule status */ toggleHardRule(ruleFilePath: string): Promise; /** * Get world rules statistics */ getStats(): Promise<{ totalRules: number; byCategory: Record; hardRules: number; flexibleRules: number; withLimitations: number; withExamples: number; withExceptions: number; established: number; }>; /** * Get rules by category */ getRulesByCategory(category: 'magic' | 'technology' | 'physics' | 'social' | 'political'): Promise>; /** * Get hard rules (must never violate) */ getHardRules(): Promise>; } //# sourceMappingURL=world-rules-builder.d.ts.map