import { firestore } from "./firebase"; export declare enum QueryOrderByType { KEY = 0, VALUE = 1, CHILD = 2, PRIORITY = 3 } export declare enum QueryRangeType { START_AT = 0, END_AT = 1, EQUAL_TO = 2 } export declare enum QueryLimitType { FIRST = 0, LAST = 1 } declare type ActionCodeSettings = { url: string; handleCodeInApp?: boolean; android?: { installApp?: boolean; minimumVersion?: string; packageName: string; }; iOS?: { bundleId: string; dynamicLinkDomain?: string; }; }; export interface OnDisconnectBase { cancel(): Promise; remove(): Promise; set(value: any): Promise; setWithPriority(value: any, priority: number | string): Promise; update(values: Object): Promise; } export interface DataSnapshot { key: string; ref: any; child(path: string): DataSnapshot; exists(): boolean; forEach(action: (snapshot: DataSnapshot) => any): boolean; getPriority(): string | number | null; hasChild(path: string): boolean; hasChildren(): boolean; numChildren(): number; toJSON(): Object; val(): any; } export interface FBData { type: string; key: string; value: any; } export interface FBDataSingleEvent extends FBData { children?: Array; } export interface FBErrorData { error: string; } export interface GetAuthTokenOptions { forceRefresh?: boolean; } export interface IdTokenResult { token: string; claims: { [key: string]: any; }; signInProvider: string; expirationTime: number; issuedAtTime: number; authTime: number; } export interface QueryRangeOption { type: QueryRangeType; value: any; } export interface QueryOptions { orderBy: { type: QueryOrderByType; value?: string; }; range?: QueryRangeOption; ranges?: QueryRangeOption[]; limit?: { type: QueryLimitType; value: number; }; singleEvent?: boolean; } export interface Provider { id: string; token?: string; } export interface User { uid: string; email?: string; emailVerified: boolean; displayName?: string; phoneNumber?: string; anonymous: boolean; isAnonymous: boolean; providers: Array; photoURL?: string; metadata: UserMetadata; additionalUserInfo?: AdditionalUserInfo; refreshToken?: string; getIdToken(forceRefresh?: boolean): Promise; getIdTokenResult(forceRefresh?: boolean): Promise; sendEmailVerification(actionCodeSettings?: ActionCodeSettings): Promise; } export interface UserMetadata { creationTimestamp: Date; lastSignInTimestamp: Date; } export interface AdditionalUserInfo { profile: Map; providerId: string; username: string; isNewUser: boolean; } export declare type JDocumentReference = com.google.firebase.firestore.DocumentReference; export declare type JCollectionReference = com.google.firebase.firestore.CollectionReference; export declare class QuerySnapshot implements firestore.QuerySnapshot { private snapshot; private _docSnapshots; constructor(snapshot: com.google.firebase.firestore.QuerySnapshot); metadata: { fromCache: boolean; hasPendingWrites: boolean; }; get docs(): firestore.QueryDocumentSnapshot[]; docSnapshots: firestore.DocumentSnapshot[]; docChanges(options?: firestore.SnapshotListenOptions): firestore.DocumentChange[]; forEach(callback: (result: firestore.DocumentSnapshot) => void, thisArg?: any): void; } export * from './firebase-common';