import type { WatchCallback } from '../@types/watch.js';
export declare class Watcher {
    private rootDir;
    private files;
    private fileWatchers;
    private dirWatchers;
    private callback;
    constructor(rootDir: string, callback: WatchCallback);
    private watchFile;
    private unwatchFiles;
    private watchFiles;
    private watchDirectory;
    start(): Promise<void>;
    stop(): void;
    private unwatchDirectories;
}
export declare const watch: (path: string, callback: WatchCallback) => Promise<Watcher>;
