# FsWatchBinding

`import { FsWatchBinding } from "destack:fs/binding";`

Filesystem watch binding family.

```ds title="FsWatchBinding"
export interface FsWatchBinding {
    open(entry: &'a readonly FilesystemEntry, options: FileWatchOptions): Result<WatchHandle, HostError>;
    close(watch: WatchHandle): Result<void, HostError>;
    read(watch: WatchHandle, events: &'a [FileWatchEvent], paths: &'b PathBuffer): Result<FileWatchBatch, HostError>;
}
```

[language/library/src/fs/binding/watch.ds:124:158](https://github.com/destack-sh/destack/blob/main/language/library/src/fs/binding/watch.ds#L124-L158)

## Members

### `open(entry: &'a readonly FilesystemEntry, options: FileWatchOptions): Result<WatchHandle, HostError>`

Start watching one filesystem entry.

### `close(watch: WatchHandle): Result<void, HostError>`

Stop watching and release the watch handle.

### `read(watch: WatchHandle, events: &'a [FileWatchEvent], paths: &'b PathBuffer): Result<FileWatchBatch, HostError>`

Read watch events into an output slice.
