import type { Firestore } from "firebase/firestore"; import { AsyncProvider } from "../../db/Provider.js"; import type { Data, Database, DataKey } from "../../util/data.js"; import type { Items, OptionalItem } from "../../util/item.js"; import type { ItemQuery } from "../../util/query.js"; import type { Updates } from "../../util/update.js"; /** * Firestore client database provider. * - Works with the Firebase JS SDK. * - Supports offline mode. * - Supports realtime subscriptions. */ export declare class FirestoreClientProvider extends AsyncProvider { private readonly _firestore; constructor(firestore: Firestore); getItem>(c: K, id: string): Promise>; getItemSequence>(c: K, id: string): AsyncIterable>; addItem>(c: K, data: Data): Promise; setItem>(c: K, id: string, data: Data): Promise; updateItem>(c: K, id: string, updates: Updates): Promise; deleteItem>(c: K, id: string): Promise; countQuery>(c: K, q?: ItemQuery): Promise; getQuery>(c: K, q?: ItemQuery): Promise>; getQuerySequence>(c: K, q?: ItemQuery): AsyncIterable>; setQuery>(c: K, q: ItemQuery, data: Data): Promise; updateQuery>(c: K, q: ItemQuery, updates: Updates): Promise; deleteQuery>(c: K, q: ItemQuery): Promise; }