declare type FilePath = string; declare type GlobPattern = string; declare namespace ParcelWatcher { export type BackendType = | 'fs-events' | 'watchman' | 'inotify' | 'windows' | 'brute-force'; export type EventType = 'create' | 'update' | 'delete'; export interface Options { ignore?: (FilePath|GlobPattern)[]; backend?: BackendType; } export type SubscribeCallback = ( err: Error | null, events: Event[] ) => unknown; export interface AsyncSubscription { unsubscribe(): Promise; } export interface Event { path: FilePath; type: EventType; } export function getEventsSince( dir: FilePath, snapshot: FilePath, opts?: Options ): Promise; export function subscribe( dir: FilePath, fn: SubscribeCallback, opts?: Options ): Promise; export function unsubscribe( dir: FilePath, fn: SubscribeCallback, opts?: Options ): Promise; export function writeSnapshot( dir: FilePath, snapshot: FilePath, opts?: Options ): Promise; } export = ParcelWatcher;