import React from 'react'; declare type AnalyticsConfig = { /** * Callback to send analytics events back to the parent app. * Receives the event name and optional payload. */ onEvent: (eventName: string, payload?: Record) => void; /** * Optional whitelist of events to forward. * If omitted or empty, all events will be forwarded. */ allowedEvents?: string[]; }; declare type OmnipayProviderProps = { publicKey: string; env: 'dev' | 'prod'; color: string; children: React.ReactElement | React.ReactElement[]; analyticsConfig?: AnalyticsConfig; }; declare type InitiateBillsType = { phoneNumber: string; onClose?: () => void; metadata?: Record; }; declare type InitiateWalletType = { phoneNumber?: string; customerRef?: string; userRef?: string; usesPaylater?: boolean; usesPromo?: boolean; usesAirtimeData?: boolean; usesTransfer?: boolean; usesBills?: boolean; usesPos?: boolean; onClose?: () => void; promoBalanceOffset?: number; deviceId?: string; deviceName?: string; hideWalletTransfer?: boolean; isBvnValidationRequired?: boolean; walletTab?: 'Paylater' | 'Account' | 'Omoni'; sessionId?: string; kycStatus?: 'verified' | 'unverified'; launchPage?: string; promoName?: string; metadata?: Record; }; export declare type OmnipayContextType = { initiateBills: ({ phoneNumber, onClose }: InitiateBillsType) => void; initiateWallet: ({ phoneNumber, customerRef, userRef, onClose, usesPaylater, usesPromo, usesAirtimeData, usesTransfer, usesBills, usesPos, promoBalanceOffset, deviceId, deviceName, hideWalletTransfer, isBvnValidationRequired, walletTab, sessionId, launchPage, kycStatus, promoName, metadata, }: InitiateWalletType) => void; }; export declare const OmnipayContext: React.Context; export declare const OmnipayProvider: ({ children, publicKey, env, color, analyticsConfig, }: OmnipayProviderProps) => JSX.Element; export {}; //# sourceMappingURL=OmnipayProvider.d.ts.map