UNPKG

react-native-gifted-chat

Version:
67 lines (55 loc) 1.43 kB
import { StyleProp, ViewStyle } from 'react-native' export type Omit<T, K> = Pick<T, Exclude<keyof T, K>> export interface LeftRightStyle<T> { left?: StyleProp<T> right?: StyleProp<T> } 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 ReplyMessage extends Pick<IMessage, '_id' | 'text' | 'user' | 'audio' | 'image'> {} 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 replyMessage?: ReplyMessage location?: { latitude: number longitude: number } } export type IChatMessage = IMessage export interface MessageVideoProps<TMessage extends IMessage> { currentMessage: TMessage containerStyle?: StyleProp<ViewStyle> videoStyle?: StyleProp<ViewStyle> videoProps?: object } export interface MessageAudioProps<TMessage extends IMessage> { currentMessage: TMessage containerStyle?: StyleProp<ViewStyle> audioStyle?: StyleProp<ViewStyle> audioProps?: object }