import type { StoragePlugin } from './types.js'; import type { VaultSync } from './vault.js'; import type { LLMService } from './llm-provider.js'; import type { ErrorLogger } from './error-logger.js'; export interface SynthesisOptions { vaultDir: string; /** default true */ enabled?: boolean; /** debounce window in ms, default 2000 */ debounceMs?: number; /** minimum observations before synthesis runs, default 3 */ minObservations?: number; } export declare class SynthesisEngine { private storage; private vaultSync; private llmService; private vaultDir; private enabled; private debounceMs; private minObservations; private pending; private stopped; private errorLogger?; constructor(storage: StoragePlugin, vaultSync: VaultSync, llmService: LLMService | null, options: SynthesisOptions); setErrorLogger(logger: ErrorLogger): void; /** Schedule synthesis refresh for an entity (debounced). */ scheduleEntity(name: string): void; /** Schedule synthesis refresh for a topic (debounced). */ scheduleTopic(name: string): void; private _schedule; /** Flush all pending refreshes immediately. */ flush(): Promise; /** Force-refresh a specific entity synthesis page (bypasses debounce). */ refreshEntity(name: string): Promise; /** Force-refresh a specific topic synthesis page (bypasses debounce). */ refreshTopic(name: string): Promise; stop(): void; private _withinVault; private _getEntityObservations; private _getTopicObservations; private _getRelatedEntities; } //# sourceMappingURL=synthesis.d.ts.map