import { DocumentData, DocumentReference, FieldPath, WhereFilterOp, OrderByDirection, DocumentSnapshot } from "firebase/firestore"; import { ToUnion } from "./utils/toUnion"; export interface Process { loading?: boolean; error?: any; data?: any; } export declare type FunctionParamCallback = (input: T) => void; export declare type FunctionCallback = () => [ func: FunctionParamCallback, process: U ]; export declare type FunctionAsync = (input: T) => Promise>; export declare type SnapshotDocumentMap = { id: string; data: T; ref: DocumentReference; exists: boolean; get: any; }; export declare type WhereType = [ fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown ]; export declare type OrderByType = [ fieldPath: string | FieldPath, directionStr?: OrderByDirection ]; export declare type ConstraintObject = { where?: Array; orderBy?: Array; limit?: number; limitToLast?: number; startAt?: DocumentSnapshot | unknown[]; startAfter?: DocumentSnapshot | unknown[]; endAt?: DocumentSnapshot | unknown[]; endBefore?: DocumentSnapshot | unknown[]; }; export declare type Pagination = { limit: number; page: number; orderBy: Array; where?: Array; }; interface ProviderUnion { google: string; github: string; facebook: string; twitter: string; apple: string; microsoft: string; } export declare type ProviderType = ToUnion; export declare type ProviderObject = { [Property in keyof ProviderUnion]: any; }; export {};