import PropTypes from 'prop-types'; import React from 'react'; import { TextProps, StyleProp, ViewStyle, TextStyle } from 'react-native'; import { LeftRightStyle, IMessage } from './Models'; export interface MessageTextProps { position: 'left' | 'right'; optionTitles?: string[]; currentMessage?: TMessage; containerStyle?: LeftRightStyle; textStyle?: LeftRightStyle; linkStyle?: LeftRightStyle; textProps?: TextProps; customTextStyle?: StyleProp; parsePatterns?(linkStyle: TextStyle): any; } export default class MessageText extends React.Component> { static contextTypes: { actionSheet: PropTypes.Requireable<(...args: any[]) => any>; }; static defaultProps: { position: string; optionTitles: string[]; currentMessage: { text: string; }; containerStyle: {}; textStyle: {}; linkStyle: {}; customTextStyle: {}; textProps: {}; parsePatterns: () => never[]; }; static propTypes: { position: PropTypes.Requireable; optionTitles: PropTypes.Requireable<(string | null | undefined)[]>; currentMessage: PropTypes.Requireable; containerStyle: PropTypes.Requireable; right: PropTypes.Requireable; }>>; textStyle: PropTypes.Requireable; right: PropTypes.Requireable; }>>; linkStyle: PropTypes.Requireable; right: PropTypes.Requireable; }>>; parsePatterns: PropTypes.Requireable<(...args: any[]) => any>; textProps: PropTypes.Requireable; customTextStyle: PropTypes.Requireable; }; shouldComponentUpdate(nextProps: MessageTextProps): boolean; onUrlPress: (url: string) => void; onPhonePress: (phone: string) => void; onEmailPress: (email: string) => void; render(): JSX.Element; }