import { GeoFirestoreTypes } from 'geofirestore-core'; import { GeoDocumentReference } from './GeoDocumentReference'; /** * A `GeoDocumentSnapshot` contains data read from a document in your Firestore database. The data can be extracted with `.data()` or * `.get()` to get a specific field. * * For a `GeoDocumentSnapshot` that points to a non-existing document, any data access will return 'undefined'. You can use the `exists` * property to explicitly verify a document's existence. */ export declare class GeoDocumentSnapshot { private _snapshot; private _isWeb; /** * @param _snapshot The `DocumentSnapshot` instance. */ constructor(_snapshot: GeoFirestoreTypes.cloud.DocumentSnapshot | GeoFirestoreTypes.web.DocumentSnapshot); /** The native `DocumentSnapshot` instance. */ get native(): GeoFirestoreTypes.cloud.DocumentSnapshot | GeoFirestoreTypes.web.DocumentSnapshot; /** True if the document exists. */ get exists(): boolean; /** * The ID of the document for which this `GeoDocumentSnapshot` contains data. */ get id(): string; /** A `GeoDocumentReference` to the document location. */ get ref(): GeoDocumentReference; /** * Retrieves all fields in the document as an Object. Returns 'undefined' if the document doesn't exist. * * By default, `FieldValue.serverTimestamp()` values that have not yet been set to their final value will be returned as `null`. You can * override this by passing an options object if you're on web. * * @param options Available on web only. An options object to configure how data is retrieved from the snapshot (e.g. the desired * behavior for server timestamps that have not yet been set to their final value). (WEB ONLY) * @return An Object containing all fields in the document or 'undefined' if the document doesn't exist. */ data(options?: GeoFirestoreTypes.SnapshotOptions): GeoFirestoreTypes.GeoDocumentData | undefined; /** * Retrieves the field specified by `fieldPath`. Returns 'undefined' if the document or field doesn't exist. * * By default, a `FieldValue.serverTimestamp()` that has not yet been set to its final value will be returned as `null`. You can override * this by passing an options object. * * @param fieldPath The path (e.g. 'foo' or 'foo.bar') to a specific field. * @param options An options object to configure how the field is retrieved from the snapshot (e.g. the desired behavior for server * timestamps that have not yet been set to their final value). (WEB ONLY) * @return The data at the specified field location or undefined if no such field exists in the document. */ get(fieldPath: string | GeoFirestoreTypes.cloud.FieldPath | GeoFirestoreTypes.web.FieldPath, options?: GeoFirestoreTypes.SnapshotOptions): any; /** * Returns true if this `DocumentSnapshot` or `GeoDocumentSnapshot` is equal to the provided one. * * @param other The `DocumentSnapshot` or `GeoDocumentSnapshot` to compare against. * @return true if this `GeoDocumentSnapshot` is equal to the provided one. */ isEqual(other: GeoDocumentSnapshot | GeoFirestoreTypes.cloud.DocumentSnapshot | GeoFirestoreTypes.web.DocumentSnapshot): boolean; }