import React from 'react';
import { VSplitConfig, PaymentResult, SplitPaymentSession, UseVSplitOptions, UseVSplitReturn } from './types';
/**
 * VSplit Provider Component
 */
interface VSplitProviderProps {
    config: VSplitConfig;
    children: React.ReactNode;
}
export declare function VSplitProvider({ config, children }: VSplitProviderProps): import("react/jsx-runtime").JSX.Element;
/**
 * VSplit Hook
 */
export declare function useVSplit(options?: UseVSplitOptions): UseVSplitReturn;
/**
 * Payment Form Component
 */
interface PaymentFormProps {
    onSuccess?: (result: PaymentResult) => void;
    onError?: (error: string) => void;
    className?: string;
    disabled?: boolean;
}
export declare function PaymentForm({ onSuccess, onError, className, disabled, }: PaymentFormProps): import("react/jsx-runtime").JSX.Element;
/**
 * Split Payment Component
 */
interface SplitPaymentProps {
    splits: Array<{
        amount: number;
        label?: string;
    }>;
    onStepComplete?: (stepIndex: number, result: PaymentResult) => void;
    onAllComplete?: (session: SplitPaymentSession) => void;
    onError?: (error: string) => void;
    className?: string;
}
export declare function SplitPayment({ splits, onStepComplete, onAllComplete, onError, className, }: SplitPaymentProps): import("react/jsx-runtime").JSX.Element;
export {};
