import type { LoadingHook } from '../util'; import type { FirebaseFirestoreTypes } from '@react-native-firebase/firestore'; export declare type IDOptions = { idField?: IDField; refField?: RefField; transform?: (val: any) => T; }; export declare type Options = { snapshotListenOptions?: FirebaseFirestoreTypes.SnapshotListenOptions; }; export declare type DataOptions = Options & IDOptions; export declare type OnceOptions = { getOptions?: GetOptions; }; export declare type GetOptions = { source?: 'default' | 'server' | 'cache'; }; export declare type OnceDataOptions = OnceOptions & IDOptions; export declare type Data : {}) & (RefField extends string ? Record> : {})> = IDField extends undefined ? RefField extends undefined ? T : ResultType : ResultType; export declare type CollectionHook = LoadingHook, Error>; export declare type CollectionOnceHook = [ ...CollectionHook, () => Promise ]; export declare type CollectionDataHook = LoadingHook[], Error>; export declare type CollectionDataOnceHook = [...CollectionDataHook]; export declare type DocumentHook = LoadingHook, Error>; export declare type DocumentOnceHook = [ ...DocumentHook, () => Promise ]; export declare type DocumentDataHook = LoadingHook, Error>; export declare type DocumentDataOnceHook = [...DocumentDataHook];