import type { EventBus } from '../kernel/events.js'; import type { ChronicleContext } from './context.js'; import type { ChronicleJournal } from './journal.js'; export interface ChronicleFileObserverOptions { projectRoot: string; journal: ChronicleJournal; context: ChronicleContext | (() => ChronicleContext); events?: EventBus | undefined; debounceMs?: number | undefined; maxHashBytes?: number | undefined; excludedDirectories?: readonly string[] | undefined; /** Min gap between full-project rescans triggered by null-filename events. */ minFullRescanIntervalMs?: number | undefined; onError?: ((error: unknown) => void) | undefined; } export interface ChronicleFileObserver { close(): Promise; readonly watchedFiles: number; } /** Observe editor/user/external process mutations that bypass WrongStack tools. */ export declare function startChronicleFileObserver(options: ChronicleFileObserverOptions): Promise; //# sourceMappingURL=file-observer.d.ts.map