import * as React from 'react'; import { TextStyle, ViewStyle } from 'react-native'; import MDCaptcha from '../captcha'; export declare type MDCashierSceneType = 'choose' | 'captcha' | 'loading' | 'success' | 'fail' | 'custom'; export interface IMDCashierProps { styles?: IMDCashierStyle; visible: boolean; channelLimit?: number; defaultIndex?: number; title?: string; paymentTitle?: string; paymentAmount?: number; paymentDescribe?: string; payButtonText?: string; payButtonDisabled?: boolean; moreButtonText?: string; header?: React.ReactNode; footer?: React.ReactNode; custom?: React.ReactNode; channelData?: T[]; renderChannel?: (channel: T, index: number) => React.ReactNode; onShow?: () => void; onDismiss?: () => void; onPay?: () => void; onSelect?: (index: number) => void; } export interface IMDCashierScene { captcha: object; loading: { text: string; }; success: { text: string; buttonText: string; handler?: () => void; }; fail: { text: string; buttonText: string; handler?: () => void; }; } export interface IMDCashierState { text: string; isPopupShow?: boolean; loading: boolean; scene: MDCashierSceneType; sceneKey: number; sceneOption: IMDCashierScene; } export interface IMDCashierStyle { wrapper?: ViewStyle; contentWrapper?: ViewStyle; sceneWrapper?: ViewStyle; bottomButton?: ViewStyle; resultWrappper?: ViewStyle; resultText?: TextStyle; loadingWrapper?: ViewStyle; } export declare const MDCashierStyles: IMDCashierStyle; export default class MDCashier extends React.Component, IMDCashierState> { static defaultProps: { styles: IMDCashierStyle; visible: boolean; title: string; payButtonText: string; payButtonDisabled: boolean; }; captcha: MDCaptcha | null; constructor(props: IMDCashierProps); componentWillReceiveProps(nextProps: IMDCashierProps): void; render(): JSX.Element; next(scene: MDCashierSceneType, option?: object): void; private onPressPay; private renderTitleBar; private renderScene; private renderChannel; private renderCaptcha; private renderResultSuccess; private renderLoading; }