import type { FirebaseFirestoreTypes } from '@react-native-firebase/firestore'; type FirestoreDataResponse = { id: string; } & T; interface FirestoreDocReturn { request: () => Promise; requestSnapshot: () => void; loading: boolean; error: Error | undefined; data: FirestoreDataResponse | null; unsubscribe: any; } interface FirestoreDocOptions { normalizer?: (data: FirestoreDataResponse) => T | H; autoRequest?: boolean; snapshot?: boolean; } interface FirestoreDocsReturn { request: () => Promise; requestSnapshot: () => void; loading: boolean; error: Error | undefined; data: FirestoreDataResponse[]; unsubscribe: any; end: boolean; lastDocument: FirebaseFirestoreTypes.QueryDocumentSnapshot | null; } type Pagination = | boolean | { documentGrouping?: boolean; }; interface FirestoreDocsOptions { normalizer?: (data: FirestoreDataResponse[]) => T[] | H[]; autoRequest?: boolean; snapshot?: boolean; pagination?: Pagination; } export type { FirestoreDocOptions, FirestoreDocReturn, FirestoreDataResponse, FirestoreDocsReturn, FirestoreDocsOptions, Pagination, };