import type { ClientState } from './project-server-types.js'; export declare const DEFAULT_EXTERNAL_DEBOUNCE_MS = 400; export declare const DEFAULT_EXTERNAL_COALESCE_WINDOW_MS = 50; export declare function isIgnoredRelativePath(relativePath: string): boolean; /** * Whether a non-indexable `rename` path may be a directory whose files the * index holds: an existing directory, or a vanished path without an * extension (a deleted `.png` must not trigger an index write run). */ export declare function isDirectoryWatchCandidate(absolute: string): Promise; export interface ProjectServerWatcherOptions { projectRoot: string; onFilesChanged: (files: string[]) => void; } export declare class ProjectServerWatcherManager { private readonly options; private externalWatcher; private externalDebounceMs; private externalCoalesceWindowMs; private readonly externalDebounceTimers; private readonly externalReadyFiles; private externalReadyFlush; constructor(options: ProjectServerWatcherOptions); get isWatching(): boolean; get pendingFileCount(): number; private enqueueExternalFile; private ensureExternalWatcher; stop(): void; reconcile(clients: Iterable): void; } //# sourceMappingURL=project-server-watcher.d.ts.map