import type { StyleProp, ViewStyle } from 'react-native'; import type { LightboxProps } from 'react-native-lightbox-v2'; export { ActionsProps } from './Actions'; export { AvatarProps } from './Avatar'; export { BubbleProps, RenderMessageImageProps, RenderMessageVideoProps, RenderMessageAudioProps, RenderMessageTextProps, } from './Bubble'; export { ComposerProps } from './Composer'; export { DayProps } from './Day'; export { EasyAvatarProps } from './EasyAvatar'; export { InputToolbarProps } from './InputToolbar'; export { LoadEarlierProps } from './LoadEarlier'; export { MessageProps } from './Message'; export { MessageContainerProps } from './MessageContainer'; export { MessageImageProps } from './MessageImage'; export { MessageTextProps } from './MessageText'; export { QuickRepliesProps } from './QuickReplies'; export { SendProps } from './Send'; export { SystemMessageProps } from './SystemMessage'; export { TimeProps } from './Time'; export declare type Omit = Pick>; export interface LeftRightStyle { left?: StyleProp; right?: StyleProp; } declare type renderFunction = (...args: any[]) => JSX.Element; export interface User { _id: string | number; name?: string; avatar?: string | number | renderFunction; } export interface Reply { title: string; value: string; messageId?: string | number; } 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; } export declare type IChatMessage = IMessage; export interface MessageVideoProps { currentMessage?: TMessage; containerStyle?: StyleProp; videoStyle?: StyleProp; videoProps?: object; lightboxProps?: LightboxProps; } export interface MessageAudioProps { currentMessage?: TMessage; containerStyle?: StyleProp; audioStyle?: StyleProp; audioProps?: object; }