/** * Created by NL on 6/27/23. */ import type { FirebaseFirestoreTypes } from '@react-native-firebase/firestore'; import type { FieldValue } from '@react-native-firebase/firestore'; import type { BaseEntity } from './base'; import type { LatestMessageProps, MediaType, MessageProps } from './message'; interface MemberProps { [userId: string]: FirebaseFirestoreTypes.DocumentReference; } interface CustomConversationInfo { id: string; name?: string; image?: string; } interface ConversationProps extends BaseEntity { latestMessage?: LatestMessageProps; updatedAt: number | FieldValue; members: string[]; name?: string; image?: string; typing?: { [userId: string]: boolean; }; unRead?: { [userId: string]: number | string; }; } declare enum MessageTypes { text = "text", image = "image", voice = "voice", video = "video" } declare enum MessageStatus { sent = 0, received = 1, seen = 2, failed = 3 } interface ConversationData { unRead?: { [key: string]: number; }; typing?: { [key: string]: boolean; }; messages?: FirebaseFirestoreTypes.CollectionReference; } interface MediaFile { id: string; path: string; type: MediaType; } export { type ConversationProps, type MemberProps, MessageTypes, MessageStatus, type CustomConversationInfo, type ConversationData, type MediaFile, }; //# sourceMappingURL=conversation.d.ts.map