/**
 * Config Hot-Reload Types
 *
 * Type definitions for the configuration hot-reload system.
 */
import { EventEmitter } from 'events';
/**
 * Default watcher configuration
 */
export const DEFAULT_WATCHER_CONFIG = {
    debounceMs: 500,
    paths: [],
    recursive: true,
    ignorePatterns: ['*.tmp', '*.bak', '.git/**'],
    reloadOnStart: false,
};
/**
 * Typed event emitter for hot-reload events
 */
export class HotReloadEmitter extends EventEmitter {
    emit(event, ...args) {
        return super.emit(event, ...args);
    }
    on(event, listener) {
        return super.on(event, listener);
    }
    once(event, listener) {
        return super.once(event, listener);
    }
    off(event, listener) {
        return super.off(event, listener);
    }
}
/**
 * Subsystem reload priority (lower = reload first)
 */
export const SUBSYSTEM_PRIORITY = {
    security: 1,
    policies: 2,
    model: 3,
    tools: 4,
    plugins: 5,
    mcp: 6,
    skills: 7,
    memory: 8,
};
/**
 * Subsystem dependencies (reload these after the key subsystem)
 */
export const SUBSYSTEM_DEPENDENCIES = {
    security: ['policies', 'tools'],
    policies: ['tools'],
    model: [],
    tools: ['skills'],
    plugins: ['tools', 'skills'],
    mcp: ['tools'],
    skills: [],
    memory: [],
};
//# sourceMappingURL=types.js.map