import { DocumentReference } from './reference'; import { ProductDocumentData } from './product'; import { CategoryDocumentData } from './category'; import { ProductCategoryDocumentData } from './product-category'; import { PriceListDocumentData } from './price-list'; import { UserDocumentData } from './user'; import { DeveloperKeyDocumentData } from './developer-key'; declare type DocSnapData = ProductDocumentData | PriceListDocumentData | CategoryDocumentData | ProductCategoryDocumentData | UserDocumentData | DeveloperKeyDocumentData; export declare abstract class DocumentSnapshot { private _ref; protected _data: DocSnapData | undefined; /** * @hideconstructor */ constructor(ref: DocumentReference, data: DocSnapData | undefined); /** * A [DocumentReference]{@link DocumentReference} for the document * @readonly */ readonly ref: DocumentReference; /** * The ID of the document for which this DocumentSnapshot contains data * @readonly */ readonly id: string; readonly exists: boolean; data(): any | undefined; } /** * A QueryDocumentSnapshot contains data read from a document in your * Firestore database as part of a query. The document is guaranteed * to exist and its data can be extracted with .data() or * .get() to get a specific field. * * A QueryDocumentSnapshot offers the same API surface as a * DocumentSnapshot. Since query results contain only existing * documents, the exists property will always be true and * data() will never return 'undefined' */ export declare class QueryDocumentSnapshot extends DocumentSnapshot { constructor(ref: DocumentReference, data: DocSnapData | undefined); } export {};