import PropTypes from 'prop-types'; import React, { ReactNode } from 'react'; import { ImageStyle, ViewStyle } from 'react-native'; import { Omit, IMessage, User, LeftRightStyle } from './types'; interface AvatarProps { currentMessage?: IMessage; previousMessage?: IMessage; nextMessage?: IMessage; position: 'left' | 'right'; renderAvatarOnTop?: boolean; showAvatarForEveryMessage?: boolean; imageStyle?: LeftRightStyle; containerStyle?: LeftRightStyle; renderAvatar?(props: Omit): ReactNode; onPressAvatar?(user: User): void; } export default class Avatar extends React.Component { static defaultProps: { renderAvatarOnTop: boolean; showAvatarForEveryMessage: boolean; position: string; currentMessage: { user: null; }; previousMessage: {}; nextMessage: {}; containerStyle: {}; imageStyle: {}; onPressAvatar: () => void; }; static propTypes: { renderAvatarOnTop: PropTypes.Requireable; showAvatarForEveryMessage: PropTypes.Requireable; position: PropTypes.Requireable; currentMessage: PropTypes.Requireable; previousMessage: PropTypes.Requireable; nextMessage: PropTypes.Requireable; onPressAvatar: PropTypes.Requireable<(...args: any[]) => any>; renderAvatar: PropTypes.Requireable<(...args: any[]) => any>; containerStyle: PropTypes.Requireable> | undefined; right: PropTypes.Validator> | undefined; }>>; imageStyle: PropTypes.Requireable> | undefined; right: PropTypes.Validator> | undefined; }>>; }; renderAvatar(): {} | null | undefined; render(): JSX.Element | null; } export {};