import EcomClient from '..'; import { Query, CollectionReference, DocumentReference, QuerySnapshot } from './reference'; import { DocumentSnapshot, QueryDocumentSnapshot } from './document'; import { PriceDocumentData } from './price'; import { ImageDocumentData } from './image'; export interface ProductDocumentData { path: string; sku: string; name: string; prices?: { object: string; data: PriceDocumentData[]; }; images?: { object: string; data: ImageDocumentData[]; }; created: Date; modified: Date; } interface SetProductDocumentData { path: string; sku: string; name: string; } export declare enum ProductInclude { None = 0, Prices = 1, Images = 2 } export declare class ProductCollectionReference extends CollectionReference { constructor(client: EcomClient, parent: DocumentReference | null); doc(id: string): ProductDocumentReference; add(product: SetProductDocumentData): Promise; get(): Promise; } export declare class ProductDocumentReference extends DocumentReference { constructor(client: EcomClient, id: string, parent: CollectionReference); set(product: SetProductDocumentData): Promise; get(include?: ProductInclude): Promise; delete(): Promise; } export declare class ProductDocumentSnapshot extends DocumentSnapshot { } export declare class ProductQueryDocumentSnapshot extends ProductDocumentSnapshot { } export declare class ProductQuerySnapshot extends QuerySnapshot { constructor(query: Query, docs: QueryDocumentSnapshot[]); } export {};