// @flow import * as React from 'react' import { FlatList } from 'react-native' import type { LoadEarlierProps } from './LoadEarlier' import type { MessageProps } from './Message' import type { User, IMessage, Reply } from './types' import type { ViewStyleProp } from 'react-native/Libraries/StyleSheet/StyleSheet' export type MessageContainerProps = $ReadOnly<{| messages?: Array, user?: User, listViewProps: $Shape>, inverted?: boolean, loadEarlier?: boolean, alignTop?: boolean, scrollToBottom?: boolean, invertibleScrollViewProps?: any, extraData?: any, scrollToBottomOffset?: number, forwardRef?: React.Ref, renderFooter?: (MessageContainerProps) => React.Node, renderMessage?: (MessageProps) => React.Node, renderLoadEarlier?: LoadEarlierProps => React.Node, scrollToBottomComponent?: () => React.Node, scrollToBottomStyle?: ViewStyleProp, onLoadEarlier?: () => void, onQuickReply?: (Array) => void, |}> type MessageContainerState = {| showScrollBottom: boolean, |} export default class MessageContainer< TMessage: IMessage = IMessage, > extends React.PureComponent< MessageContainerProps, MessageContainerState, > {}