/**
 * Security Monitor for DollhouseMCP
 *
 * Centralized security event logging and monitoring system
 * for tracking and alerting on security-related events.
 */
export interface SecurityEvent {
    type: 'CONTENT_INJECTION_ATTEMPT' | 'YAML_INJECTION_ATTEMPT' | 'PATH_TRAVERSAL_ATTEMPT' | 'TOKEN_VALIDATION_FAILURE' | 'UPDATE_SECURITY_VIOLATION' | 'RATE_LIMIT_EXCEEDED' | 'YAML_PARSING_WARNING' | 'YAML_PARSE_SUCCESS' | 'TOKEN_VALIDATION_SUCCESS' | 'RATE_LIMIT_WARNING' | 'TOKEN_CACHE_CLEARED' | 'YAML_UNICODE_ATTACK' | 'UNICODE_DIRECTION_OVERRIDE' | 'UNICODE_MIXED_SCRIPT' | 'UNICODE_VALIDATION_ERROR' | 'CONTENT_SIZE_EXCEEDED' | 'INCLUDE_DEPTH_EXCEEDED' | 'TEMPLATE_RENDERED' | 'TEMPLATE_INCLUDE' | 'TEMPLATE_LOADED' | 'TEMPLATE_SAVED' | 'TEMPLATE_DELETED' | 'MEMORY_CREATED' | 'MEMORY_ADDED' | 'MEMORY_SEARCHED' | 'SENSITIVE_MEMORY_DELETED' | 'RETENTION_POLICY_ENFORCED' | 'MEMORY_CLEARED' | 'MEMORY_LOADED' | 'MEMORY_SAVED' | 'MEMORY_DELETED' | 'MEMORY_LOAD_FAILED' | 'MEMORY_SAVE_FAILED' | 'MEMORY_LIST_ITEM_FAILED' | 'MEMORY_IMPORT_FAILED' | 'MEMORY_DESERIALIZE_FAILED' | 'ELEMENT_CREATED' | 'ELEMENT_DELETED' | 'AGENT_DECISION' | 'RULE_ENGINE_CONFIG_UPDATE' | 'RULE_ENGINE_CONFIG_VALIDATION_ERROR' | 'GOAL_TEMPLATE_APPLIED' | 'GOAL_TEMPLATE_VALIDATION' | 'ENSEMBLE_CIRCULAR_DEPENDENCY' | 'ENSEMBLE_RESOURCE_LIMIT_EXCEEDED' | 'ENSEMBLE_ACTIVATION_TIMEOUT' | 'ENSEMBLE_SUSPICIOUS_CONDITION' | 'ENSEMBLE_NESTED_DEPTH_EXCEEDED' | 'ENSEMBLE_CONTEXT_SIZE_EXCEEDED' | 'ENSEMBLE_SAVED' | 'ENSEMBLE_IMPORTED' | 'ENSEMBLE_DELETED' | 'PORTFOLIO_INITIALIZATION' | 'PORTFOLIO_POPULATED' | 'FILE_COPIED' | 'DIRECTORY_MIGRATION';
    severity: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
    source: string;
    details: string;
    userAgent?: string;
    ip?: string;
    additionalData?: Record<string, any>;
    metadata?: Record<string, any>;
}
export interface SecurityLogEntry extends SecurityEvent {
    timestamp: string;
    id: string;
}
export declare class SecurityMonitor {
    private static eventCount;
    private static readonly events;
    private static readonly MAX_EVENTS;
    /**
     * Logs a security event
     */
    static logSecurityEvent(event: SecurityEvent): void;
    /**
     * Sends security alerts for critical events
     */
    private static sendSecurityAlert;
    /**
     * Gets recent security events for analysis
     */
    static getRecentEvents(count?: number): SecurityLogEntry[];
    /**
     * Gets events by severity
     */
    static getEventsBySeverity(severity: SecurityEvent['severity']): SecurityLogEntry[];
    /**
     * Gets events by type
     */
    static getEventsByType(type: SecurityEvent['type']): SecurityLogEntry[];
    /**
     * Generates a security report
     */
    static generateSecurityReport(): {
        totalEvents: number;
        eventsBySeverity: Record<string, number>;
        eventsByType: Record<string, number>;
        recentCriticalEvents: SecurityLogEntry[];
    };
    /**
     * Clears old events (for memory management)
     */
    static clearOldEvents(daysToKeep?: number): void;
}
//# sourceMappingURL=securityMonitor.d.ts.map