import { FSWatcher } from 'chokidar'; import { Compiler } from '../compiler/index.js'; import { Server } from '../server/index.js'; import { Logger } from '../utils/index.js'; import type { ResolvedUserConfig } from '../config/index.js'; interface ImplFileWatcher { watch(): Promise; } export declare class FileWatcher implements ImplFileWatcher { serverOrCompiler: Server | Compiler; options: ResolvedUserConfig; private _logger; private _root; private _watcher; private _close; private _watchedFiles; constructor(serverOrCompiler: Server | Compiler, options: ResolvedUserConfig, _logger: Logger); getInternalWatcher(): FSWatcher; filterWatchFile(file: string, root: string): boolean; getExtraWatchedFiles(): string[]; watchExtraFiles(): void; watch(): Promise; private getCompilerFromServerOrCompiler; close(): void; } export declare function clearModuleCache(modulePath: string): void; export {};