import React from 'react'; import PropTypes from 'prop-types'; import FlutterwaveInitError from './utils/FlutterwaveInitError'; import { StyleProp, ViewStyle } from 'react-native'; export interface CustomButtonProps { disabled: boolean; onPress: () => void; } export interface PayWithFlutterwavePropsBase { style?: StyleProp; onRedirect: (data: any) => void; onWillInitialize?: () => void; onDidInitialize?: () => void; onInitializeError?: (error: FlutterwaveInitError) => void; onAbort?: () => void; customButton?: (params: CustomButtonProps) => React.ReactNode; alignLeft?: 'alignLeft' | boolean; meta?: Array; currency?: string; } export declare const PayWithFlutterwavePropTypesBase: { alignLeft: PropTypes.Requireable; onAbort: PropTypes.Requireable<(...args: any[]) => any>; onRedirect: PropTypes.Validator<(...args: any[]) => any>; onWillInitialize: PropTypes.Requireable<(...args: any[]) => any>; onDidInitialize: PropTypes.Requireable<(...args: any[]) => any>; onInitializeError: PropTypes.Requireable<(...args: any[]) => any>; customButton: PropTypes.Requireable<(...args: any[]) => any>; }; export declare const OptionsPropTypeBase: { amount: PropTypes.Validator; currency: PropTypes.Requireable; payment_plan: PropTypes.Requireable; subaccounts: PropTypes.Requireable<(PropTypes.InferProps<{ id: PropTypes.Validator; transaction_split_ratio: PropTypes.Requireable; transaction_charge_type: PropTypes.Requireable; transaction_charge: PropTypes.Requireable; }> | null | undefined)[]>; integrity_hash: PropTypes.Requireable; }; interface PayWithFlutterwaveState { link: string | null; isPending: boolean; showDialog: boolean; reference: string | null; resetLink: boolean; } export declare type PayWithFlutterwaveBaseProps = PayWithFlutterwavePropsBase & { options: any; init: (options: any, abortController?: AbortController) => Promise; reference: string; }; declare class PayWithFlutterwaveBase

extends React.Component { state: PayWithFlutterwaveState; abortController?: AbortController; timeout: any; handleInitCall?: () => Promise; componentDidUpdate(prevProps: PayWithFlutterwaveBaseProps): void; componentWillUnmount(): void; reset: () => void; handleOptionsChanged: () => void; handleAbort: () => void; handleRedirect: (params: any) => void; handleInit: () => Promise; render(): JSX.Element; renderButton(): {} | null | undefined; } export default PayWithFlutterwaveBase; //# sourceMappingURL=PaywithFlutterwaveBase.d.ts.map