UNPKG

react-native-gifted-chat

Version:
53 lines (52 loc) 2.18 kB
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<ImageStyle>; containerStyle?: LeftRightStyle<ViewStyle>; renderAvatar?(props: Omit<AvatarProps, 'renderAvatar'>): ReactNode; onPressAvatar?(user: User): void; } export default class Avatar extends React.Component<AvatarProps> { static defaultProps: { renderAvatarOnTop: boolean; showAvatarForEveryMessage: boolean; position: string; currentMessage: { user: null; }; previousMessage: {}; nextMessage: {}; containerStyle: {}; imageStyle: {}; onPressAvatar: () => void; }; static propTypes: { renderAvatarOnTop: PropTypes.Requireable<boolean>; showAvatarForEveryMessage: PropTypes.Requireable<boolean>; position: PropTypes.Requireable<string>; currentMessage: PropTypes.Requireable<object>; previousMessage: PropTypes.Requireable<object>; nextMessage: PropTypes.Requireable<object>; onPressAvatar: PropTypes.Requireable<(...args: any[]) => any>; renderAvatar: PropTypes.Requireable<(...args: any[]) => any>; containerStyle: PropTypes.Requireable<PropTypes.InferProps<{ left: PropTypes.Validator<import("react-native").StyleProp<ViewStyle>> | undefined; right: PropTypes.Validator<import("react-native").StyleProp<ViewStyle>> | undefined; }>>; imageStyle: PropTypes.Requireable<PropTypes.InferProps<{ left: PropTypes.Validator<import("react-native").StyleProp<ViewStyle>> | undefined; right: PropTypes.Validator<import("react-native").StyleProp<ViewStyle>> | undefined; }>>; }; renderAvatar(): {} | null | undefined; render(): JSX.Element | null; } export {};