type Watcher;
type Watch;
let create = |
#poll_interval: [duration, null] = null,
#poll_batch_size: [i64, null] = null,
trigger: Any
| -> Result<Watcher, `WatchError(string)> 'sys_watch_create;
let watch = |
#interest: Array<Interest> = [`Established, `Create, `Modify, `Delete],
watcher: Watcher,
path: string
| -> Result<Watch, `WatchError(string)> 'sys_watch_watch;
let path = |@args: [Watch, Array<Watch>, Map<'k, Watch>]|
-> Result<string, `WatchError(string)> 'sys_watch_path;
let events = |@args: [Watch, Array<Watch>, Map<'k, Watch>]|
-> Result<WatchEvent, `WatchError(string)> 'sys_watch_events;