import { MetaType } from '../metaTypeCreator'; import { DocumentReference } from '../refs'; import { ExactOptional, RecursivelyReplaceDeleteFieldWithErrorMsg } from '../exactOptional'; import { DeepKey, RemoveLastDot } from '../objectFlatten'; import { Transaction } from '../transaction'; import { WriteBatch } from '../batch'; import { WriteResult } from 'firebase-admin/firestore'; type SetCreator = , SetOptions extends { merge: boolean; } | { mergeFields: RemoveLastDot>[]; } | undefined = undefined>(reference: DocumentReference, data: Data extends never ? Data : SetOptions extends { merge: true; } | { mergeFields: RemoveLastDot>[]; } ? ExactOptional>[]; } ? SetOptions['mergeFields'] : false) extends infer R extends boolean | string[] ? R : never, false, true> : RecursivelyReplaceDeleteFieldWithErrorMsg, options?: SetOptions extends never ? SetOptions : SetOptions) => U; export type Set = SetCreator>; export type TransactionSet = SetCreator; export type WriteBatchSet = SetCreator; export {};