/**
 * 공용 부트스트랩 함수
 * HTTP 서버와 MCP 서버가 공통으로 사용하는 서비스 초기화 로직
 * @memento/core 내부: createMementoCore에서 사용
 */
import Database from 'better-sqlite3';
import type { SearchEngine } from './domains/search/algorithms/search-engine.js';
import { HybridSearchEngine } from './domains/search/algorithms/hybrid-search-engine.js';
import { MemoryEmbeddingService } from './domains/memory/services/memory-embedding-service.js';
import { ForgettingPolicyService } from './domains/forgetting/services/forgetting-policy-service.js';
import { getPerformanceMonitor } from './domains/monitoring/services/performance-monitor.js';
import { ErrorLoggingService } from './domains/monitoring/services/error-logging-service.js';
import { PerformanceAlertService } from './domains/monitoring/services/performance-alert-service.js';
import type { WriteCoalescingManager } from './shared/utils/write-coalescing.js';
import type { AnchorManager } from './domains/anchor/services/anchor/anchor-manager.js';
import type { FailureDetector } from './domains/monitoring/services/failure-detector.js';
import type { IBatchScheduler } from './shared/interfaces/batch-scheduler.interface.js';
import type { IConsolidationScoreService } from './shared/interfaces/consolidation-score.interface.js';
import type { IDatabaseOptimizer } from './shared/interfaces/database-optimizer.interface.js';
import type { IReflexionWorker } from './shared/interfaces/reflexion-worker.interface.js';
import { getVectorSearchEngine } from './domains/search/algorithms/vector-search-engine.js';
import { SleepConsolidationService } from './domains/consolidation/services/sleep-consolidation-service.js';
import type { RelationGraphPort } from './domains/relation/ports/relation-graph.port.js';
import { WalCheckpointScheduler } from './infrastructure/database/wal-checkpoint-scheduler.js';
import { DatabaseLockMonitor } from './infrastructure/database/database-lock-monitor.js';
import type { MetaMemoryService } from './domains/memory/services/meta-memory-service.js';
import { IntrospectionScanCache } from './domains/memory/services/introspection-scan-cache.js';
import { TelemetryService } from './domains/telemetry/services/telemetry-service.js';
import { RuntimeDiagnosticsLogger } from './domains/monitoring/services/runtime-diagnostics-logger.js';
export interface ServerServices {
    searchEngine: SearchEngine;
    hybridSearchEngine: HybridSearchEngine;
    embeddingService: MemoryEmbeddingService;
    forgettingPolicyService: ForgettingPolicyService;
    performanceMonitor: ReturnType<typeof getPerformanceMonitor>;
    databaseOptimizer: IDatabaseOptimizer;
    errorLoggingService: ErrorLoggingService;
    performanceAlertService: PerformanceAlertService;
    consolidationScoreService?: IConsolidationScoreService;
    writeCoalescingManager: WriteCoalescingManager;
    metaMemoryService: MetaMemoryService;
    anchorManager: AnchorManager;
    relationGraph: RelationGraphPort;
    failureDetector: FailureDetector;
    reflexionWorker?: IReflexionWorker;
    walCheckpointScheduler: WalCheckpointScheduler;
    databaseLockMonitor: DatabaseLockMonitor;
    vectorSearchEngine: ReturnType<typeof getVectorSearchEngine>;
    batchScheduler?: IBatchScheduler;
    /** Issue #21 Phase B: 인트로스펙션 스캔 결과 캐시 (recall/get_meta_memory_stats/get_introspection_summary용) */
    introspectionScanCache?: IntrospectionScanCache;
    /** 005 sleep consolidation */
    sleepConsolidationService?: SleepConsolidationService;
    /** 006 observability telemetry */
    telemetryService?: TelemetryService;
    /** 런타임 샘플 및 부트스트랩 이벤트 진단 로거 */
    runtimeDiagnosticsLogger?: RuntimeDiagnosticsLogger;
    /** diagnostics sampler cleanup hook */
    runtimeDiagnosticsSamplerCleanup?: () => Promise<void>;
}
export declare function initializeServices(db: Database.Database): Promise<ServerServices>;
//# sourceMappingURL=bootstrap.d.ts.map