An options object that can be passed to [onSnapshot()](https://firebase.google.com/docs/reference/js/firestore#onsnapshot_c92ea4f) and [QuerySnapshot.docChanges()](https://firebase.google.com/docs/reference/js/firestore.querysnapshot#querysnapshotdocchanges) to control which types of changes to include in the result set.

**Signature:**

    export declare interface SnapshotListenOptions 

## Properties

| Property | Type | Description |
|---|---|---|
| [includeMetadataChanges](https://firebase.google.com/docs/reference/js/firestore.snapshotlistenoptions#snapshotlistenoptionsincludemetadatachanges) | boolean | Include a change even if only the metadata of the query or of a document changed. Default is false. |
| [source](https://firebase.google.com/docs/reference/js/firestore.snapshotlistenoptions#snapshotlistenoptionssource) | [ListenSource](https://firebase.google.com/docs/reference/js/firestore#listensource) | Set the source the query listens to. Default to "default", which listens to both cache and server. |

## SnapshotListenOptions.includeMetadataChanges

Include a change even if only the metadata of the query or of a document changed. Default is false.

**Signature:**

    readonly includeMetadataChanges?: boolean;

## SnapshotListenOptions.source

Set the source the query listens to. Default to "default", which listens to both cache and server.

**Signature:**

    readonly source?: ListenSource;