UNPKG

2.29 kBTypeScriptView Raw
1import PropTypes from 'prop-types';
2import { ReactNode } from 'react';
3import { ImageStyle, TextStyle, ViewStyle } from 'react-native';
4import { Omit, IMessage, User, LeftRightStyle } from './Models';
5export interface AvatarProps<TMessage extends IMessage> {
6 currentMessage?: TMessage;
7 previousMessage?: TMessage;
8 nextMessage?: TMessage;
9 position: 'left' | 'right';
10 renderAvatarOnTop?: boolean;
11 showAvatarForEveryMessage?: boolean;
12 imageStyle?: LeftRightStyle<ImageStyle>;
13 containerStyle?: LeftRightStyle<ViewStyle>;
14 textStyle?: TextStyle;
15 renderAvatar?(props: Omit<AvatarProps<TMessage>, 'renderAvatar'>): ReactNode;
16 onPressAvatar?(user: User): void;
17 onLongPressAvatar?(user: User): void;
18}
19export declare function Avatar<TMessage extends IMessage = IMessage>(props: AvatarProps<TMessage>): JSX.Element | null;
20export declare namespace Avatar {
21 var defaultProps: {
22 renderAvatarOnTop: boolean;
23 showAvatarForEveryMessage: boolean;
24 position: string;
25 currentMessage: {
26 user: null;
27 };
28 previousMessage: {};
29 nextMessage: {};
30 containerStyle: {};
31 imageStyle: {};
32 onPressAvatar: () => void;
33 onLongPressAvatar: () => void;
34 };
35 var propTypes: {
36 renderAvatarOnTop: PropTypes.Requireable<boolean>;
37 showAvatarForEveryMessage: PropTypes.Requireable<boolean>;
38 position: PropTypes.Requireable<string>;
39 currentMessage: PropTypes.Requireable<object>;
40 previousMessage: PropTypes.Requireable<object>;
41 nextMessage: PropTypes.Requireable<object>;
42 onPressAvatar: PropTypes.Requireable<(...args: any[]) => any>;
43 onLongPressAvatar: PropTypes.Requireable<(...args: any[]) => any>;
44 renderAvatar: PropTypes.Requireable<(...args: any[]) => any>;
45 containerStyle: PropTypes.Requireable<PropTypes.InferProps<{
46 left: PropTypes.Requireable<number | boolean | object>;
47 right: PropTypes.Requireable<number | boolean | object>;
48 }>>;
49 imageStyle: PropTypes.Requireable<PropTypes.InferProps<{
50 left: PropTypes.Requireable<number | boolean | object>;
51 right: PropTypes.Requireable<number | boolean | object>;
52 }>>;
53 };
54}