import { SentenceBuilder } from './SentenceBuilder'; import { SeededRandom } from '../utils/random'; export interface GrammarRule { eventType: string; preferredPatterns: ('svo' | 'sv' | 'svc' | 'passive' | 'imperative')[]; requiredComponents: { subject?: boolean; verb?: boolean; object?: boolean; complement?: boolean; }; verbTense?: 'present' | 'past' | 'future'; style?: 'formal' | 'casual' | 'dramatic' | 'neutral'; } export interface EventTypeGrammarConfig { [eventType: string]: GrammarRule; } export declare class GrammarRulesEngine { private rules; private sentenceBuilder; private rng; constructor(sentenceBuilder: SentenceBuilder, rng?: SeededRandom); /** * Initialize default grammar rules for each event type */ private initializeDefaultRules; /** * Get grammar rule for an event type */ getRule(eventType: string): GrammarRule; /** * Validate a sentence structure against grammar rules */ validateAgainstRules(sentence: string, eventType: string): boolean; /** * Suggest a sentence pattern based on event type */ suggestPattern(eventType: string): 'svo' | 'sv' | 'svc' | 'passive' | 'imperative'; /** * Get style-appropriate modifiers */ getStyleModifiers(eventType: string): { adjectives?: string[]; adverbs?: string[]; }; /** * Add custom grammar rule */ addRule(eventType: string, rule: GrammarRule): void; /** * Get all rules */ getAllRules(): EventTypeGrammarConfig; } //# sourceMappingURL=GrammarRulesEngine.d.ts.map