import { StyleProp, ViewStyle } from 'react-native' export type Omit = Pick> export interface LeftRightStyle { left?: StyleProp right?: StyleProp } type renderFunction = (x: unknown) => React.ReactNode export interface User { _id: string | number name?: string avatar?: string | number | renderFunction } export interface Reply { title: string value: string messageId?: number | string } export interface QuickReplies { type: 'radio' | 'checkbox' values: Reply[] keepIt?: boolean } export interface IMessage { _id: string | number text: string createdAt: Date | number user: User image?: string video?: string audio?: string system?: boolean sent?: boolean received?: boolean pending?: boolean quickReplies?: QuickReplies location?: { latitude: number longitude: number } } export type IChatMessage = IMessage export interface MessageVideoProps { currentMessage: TMessage containerStyle?: StyleProp videoStyle?: StyleProp videoProps?: object } export interface MessageAudioProps { currentMessage: TMessage containerStyle?: StyleProp audioStyle?: StyleProp audioProps?: object }