import chokidar from "chokidar";
import { Subscribable } from "./subscribable";
interface WatcherOptions {
    onAdd?: (path: string) => void;
    onUnlink?: (path: string) => void;
    onChange?: (path: string) => void;
}
export declare class Watcher {
    private watchers;
    isReady: boolean;
    globalOptions: chokidar.WatchOptions;
    onReadySubscribable: Subscribable;
    constructor(options?: chokidar.WatchOptions);
    watch(path: string, options: WatcherOptions, chokidarOptions?: chokidar.WatchOptions): void;
    onReady(callback: () => void): void;
    private checkReady;
    close(): Promise<void>;
}
export {};
