import { IEventValidationService, ValidationRule, ValidationRuleResult, BusinessRuleConfig, ConflictDetectionConfig, ValidationContext } from '../interfaces/event-validation.interfaces'; import { CalendarEvent, CreateEventInput, UpdateEventInput, EventValidationResult, EventConflict } from '../interfaces/event.interfaces'; /** * Implementation of event validation service * Provides comprehensive validation for events including business rules */ export declare class EventValidationService implements IEventValidationService { private rules; private businessRules; private conflictConfig; private stats; initialize(businessRules?: BusinessRuleConfig, conflictConfig?: ConflictDetectionConfig): void; validateForCreate(input: CreateEventInput, context?: ValidationContext): Promise; validateForUpdate(input: UpdateEventInput, context?: ValidationContext): Promise; validateForDelete(eventId: string, _context?: ValidationContext): Promise; checkConflicts(event: CalendarEvent | CreateEventInput, existingEvents: CalendarEvent[]): EventConflict[]; validateDateTime(dateTime: any): ValidationRuleResult; validateAttendees(attendees: any[]): ValidationRuleResult; validateRecurrence(recurrence: any): ValidationRuleResult; addValidationRule(rule: ValidationRule): void; removeValidationRule(ruleId: string): void; getValidationRules(): ValidationRule[]; updateBusinessRules(rules: BusinessRuleConfig): void; updateConflictDetection(config: ConflictDetectionConfig): void; getValidationStats(): { totalValidations: number; passedValidations: number; failedValidations: number; conflictsDetected: number; }; getValidationStatistics(): { totalValidations: number; passedValidations: number; failedValidations: number; conflictsDetected: number; }; private initializeDefaultRules; private validateBasicFields; private timesOverlap; }