import { WhereFilterOp, OrderByDirection, FieldPath, DocumentReference, CollectionReference, Query, DocumentSnapshot, DocumentData } from '@firebase/firestore-types'; import { FirestoreDbType } from '../Fuego/types'; import { HandleQueryData, HandleLoading, HandleError } from '../hooks/useFuego/types'; import { FuegoContextProps } from '../FuegoContext/types'; import { Dispatch, SetStateAction } from 'react'; export declare type OrderByArray = [string | FieldPath, OrderByDirection]; export declare type OrderByItem = OrderByArray | string; export declare type OrderByType = OrderByItem | OrderByArray[]; declare type PathType = string; declare type WhereCondition = WhereFilterOp; export declare type WhereItem = [string | FieldPath, WhereCondition, any]; export declare type WhereArray = WhereItem[]; export declare type WhereType = WhereItem | WhereArray; export declare type FuegoQueryConfig = { path: PathType; orderBy?: OrderByType; where?: WhereType; limit?: number; startAt?: number | DocumentSnapshot; endAt?: number | DocumentSnapshot; startAfter?: number | DocumentSnapshot; endBefore?: number | DocumentSnapshot; }; export interface HandleQueryConfig { db: FirestoreDbType; handleData: HandleQueryData; handleLoading: HandleLoading; listen?: boolean; context: FuegoContextProps; } export declare type FirestoreRefType = DocumentReference | CollectionReference | Query; export interface DocumentModel extends DocumentData { id: string; } export declare type CollectionModel = DocumentModel[]; export declare type FirestoreDataModel = DocumentModel | CollectionModel; export interface FuegoQueryInitType { listenerNameRef: React.MutableRefObject; dbRef: React.MutableRefObject; notifyOnNetworkStatusChange?: boolean; setData: HandleQueryData | Dispatch>; setLoading: HandleLoading; setError: HandleError; context: FuegoContextProps; listen?: boolean; setExists: (exists: boolean) => void; } export {};