import type { App } from 'firebase-admin/app'; import type { ActionCodeSettings, Auth, TenantAwareAuth, UserRecord } from 'firebase-admin/auth'; import type { CollectionReference, DocumentData, DocumentReference, Firestore, Query } from 'firebase-admin/firestore'; import type { Messaging } from 'firebase-admin/messaging'; import type { IDocumentsQueryOptions } from './database/firestore/types'; import type { GenericObject, IGetDocumentsOptions } from '../web/database/firestore/types'; import type { IAuthOptions } from './auth/types'; export interface AdminModule { admin: object; auth: Auth; generateEmailVerificationLink: (email: string, actionCodeSettings?: ActionCodeSettings) => Promise; generatePasswordResetLink: (email: string, actionCodeSettings?: ActionCodeSettings) => Promise; getAuth: (param?: App | IAuthOptions) => Auth | TenantAwareAuth; getCurrentUser: (options: IAuthOptions) => Promise; getSession: () => string; isUserAuthenticated: (session?: string, options?: IAuthOptions) => Promise; revokeSession: (session: string, options: IAuthOptions) => Promise; firestore: Firestore; getFirestore: (app?: App) => Firestore; deleteDocument: (collection: string, document: string) => Promise; deleteDocuments: (collection: string, documents: string[]) => Promise; generateQuery: (collection: string, options?: IDocumentsQueryOptions) => Query; getCollectionRef: (collection: string) => CollectionReference; getDocument: (collection: string, document: string) => Promise; getDocumentBy: (collection: string, options: Omit) => Promise; getDocumentIds: (collection: string) => Promise; getDocumentRef: (collection: string, document: string) => DocumentReference; getDocuments: (collection: string, options?: IDocumentsQueryOptions) => Promise; getDocumentsCount: (collection: string, options?: IDocumentsQueryOptions) => Promise; getFieldSummation: (collection: string, aggregateField: string, options?: IGetDocumentsOptions) => Promise; listCollections: (databaseId?: string) => Promise; setDocument: (collection: string, arg2: string | GenericObject, form?: GenericObject) => Promise; messaging: Messaging; getMessaging: (app?: App) => Messaging; } //# sourceMappingURL=types.d.ts.map