import * as watchman from 'fb-watchman'; import type { Options, Event, SubscribeCallback, AsyncSubscription } from '@parcel/watcher'; type WatchmanArgs = any; type FilePath = string; type GlobPattern = string; export interface Watcher { getEventsSince(dir: FilePath, snapshot: FilePath, opts?: Options): Promise>; subscribe(dir: FilePath, fn: SubscribeCallback, opts?: Options): Promise; unsubscribe(dir: FilePath, fn: SubscribeCallback, opts?: Options): Promise; writeSnapshot(dir: FilePath, snapshot: FilePath, opts?: Options): Promise; } export declare class AtlaspackWatcherWatchmanJS implements Watcher { subscriptionName: string; client: watchman.Client; initPromise: Promise | undefined; constructor(); commandAsync(args: WatchmanArgs): Promise; capabilityCheckAsync(args: any): Promise; _init(watchDir: string): Promise; init(watchDir: string): Promise; writeSnapshot(dir: string, snapshot: FilePath): Promise; getEventsSince(dir: string, snapshot: FilePath, opts?: Options): Promise; _createExpression(dir: string, ignore?: Array): WatchmanArgs; subscribe(dir: string, fn: SubscribeCallback, opts?: Options): Promise; unsubscribe(dir: string): Promise; } export {};