import { Firestore, FirestoreSettings, loadBundle as firestoreLoadBundle } from 'firebase/firestore'; import { DefaultReactFirebaseServerHooksOptions } from './ServerContext'; import { DefaultCollectionOptions, DefaultConnectFirestoreEmulatorOptions, DefaultDocOptions, DefaultObserverType, DefaultOptionsOnlyFirestore, DefaultRunTransactionOptions } from './types'; /** * @description get your firebase firestore instance easily in your react app * @author Achmad Kurnianto * @date 02/08/2024 * @export * @template Options * @param {Options} [options] * @returns {*} {Firestore} */ export declare function useFirebaseFirestore(options?: Options): Firestore; /** * @description data type for firestore settings in server side app * @author Achmad Kurnianto * @date 02/08/2024 * @export * @interface FirestoreServerSettings * @extends {(Omit)} */ export interface FirestoreServerSettings extends Omit { } /** * @description data type options for {@link useInitializeFirestore} method * @author Achmad Kurnianto * @date 02/08/2024 * @export * @interface DefaultUseInitializeFirestoreOptions * @extends {DefaultReactFirebaseServerHooksOptions} */ export interface DefaultUseInitializeFirestoreOptions extends DefaultReactFirebaseServerHooksOptions { /** * @description second parameter of {@link initializeFirestore} method * @author Achmad Kurnianto * @date 02/08/2024 * @type {FirestoreServerSettings} * @memberof DefaultUseInitializeFirestoreOptions */ settings?: FirestoreServerSettings; /** * @description third parameter of {@link initializeFirestore} method * @author Achmad Kurnianto * @date 02/08/2024 * @type {FirestoreServerSettings} * @memberof DefaultUseInitializeFirestoreOptions */ databaseId?: string; } /** * @description create your own firebase firestore instance with {@link initializeFirestore} method under the hood. * @author Achmad Kurnianto * @date 02/08/2024 * @export * @template Options * @param {Options} [opts] * @returns {*} {Firestore} */ export declare function useInitializeFirestore(opts?: Options): Firestore; /** * @description data type options for {@link useOnSnapshotInSync} hooks. * @author Achmad Kurnianto * @date 02/08/2024 * @export * @interface DefaultUseOnSnapshotInSyncOptions * @extends {DefaultReactFirebaseServerHooksOptions} * @extends {DefaultOptionsOnlyFirestore} */ export interface DefaultUseOnSnapshotInSyncOptions extends DefaultReactFirebaseServerHooksOptions, DefaultOptionsOnlyFirestore { } /** * @description use {@link onSnapshotsInSync} method easily in your react app * @author Achmad Kurnianto * @date 02/08/2024 * @export * @template Options * @param {DefaultObserverType} observer second parameter of {@link onSnapshotsInSync} method * @param {Options} options */ export declare function useOnSnapshotInSync(observer: DefaultObserverType, options: Options): void; /** * @description data type options used for {@link useFirebaseFirestoreMethods} method * @author Achmad Kurnianto * @date 02/08/2024 * @export * @interface DefaultUseFirebaseFirestoreMethods * @extends {DefaultReactFirebaseServerHooksOptions} * @extends {DefaultOptionsOnlyFirestore} */ export interface DefaultUseFirebaseFirestoreMethods extends DefaultReactFirebaseServerHooksOptions, DefaultOptionsOnlyFirestore { } /** * @description easily get methods which depends on firebase firestore instance. * @author Achmad Kurnianto * @date 02/08/2024 * @export * @template Options * @param {Options} [options] * @returns {*} */ export declare function useFirebaseFirestoreMethods(options?: Options): { clearIndexedDbPersistence: () => Promise; collection: (opts: Options_1) => import('firebase/firestore').CollectionReference; collectionGroup: (collectionId: string) => import('firebase/firestore').Query; connectFirestoreEmulator: (opts: Options_1) => void; disableNetwork: () => Promise; doc: (opts: Options_1) => import('firebase/firestore').DocumentReference; enableNetwork: () => Promise; loadBundle: (payload: Parameters[1]) => import('firebase/firestore').LoadBundleTask; namedQuery: (name: string) => Promise | null>; runTransaction: = DefaultRunTransactionOptions>(opts: RunTransactionOptions) => Promise; terminate: () => Promise; waitForPendingWrites: () => Promise; writeBatch: () => Promise; };