/* eslint-disable @typescript-eslint/no-wrapper-object-types */ import type { TurboModule } from 'react-native'; import { TurboModuleRegistry } from 'react-native'; export type FirestoreCollectionCountResult = { count?: number; }; export interface Spec extends TurboModule { namedQueryOnSnapshot( appName: string, databaseId: string, queryName: string, type: string, filters: ReadonlyArray, orders: ReadonlyArray, options: Object, listenerId: number, snapshotListenOptions: Object, ): void; collectionOnSnapshot( appName: string, databaseId: string, path: string, type: string, filters: ReadonlyArray, orders: ReadonlyArray, options: Object, listenerId: number, snapshotListenOptions: Object, ): void; collectionOffSnapshot(appName: string, databaseId: string, listenerId: number): void; namedQueryGet( appName: string, databaseId: string, queryName: string, type: string, filters: ReadonlyArray, orders: ReadonlyArray, options: Object, getOptions?: Object, ): Promise; collectionGet( appName: string, databaseId: string, path: string, type: string, filters: ReadonlyArray, orders: ReadonlyArray, options: Object, getOptions?: Object, ): Promise; collectionCount( appName: string, databaseId: string, path: string, type: string, filters: ReadonlyArray, orders: ReadonlyArray, options: Object, ): Promise; aggregateQuery( appName: string, databaseId: string, path: string, type: string, filters: ReadonlyArray, orders: ReadonlyArray, options: Object, aggregateQueries: ReadonlyArray, ): Promise; pipelineExecute( appName: string, databaseId: string, pipeline: Object, options?: Object, ): Promise; } export default TurboModuleRegistry.getEnforcing('NativeRNFBTurboFirestoreCollection');