import { PaymentFormData, PaymentResponse, WebXPayConfig, WebXPayFormData, WebXPayModuleConfig } from '../interfaces/webx-pay.interface';
export declare class WebXPayService {
    private readonly config;
    constructor(config: WebXPayModuleConfig);
    /**
     * Validate WebX Pay configuration
     */
    validateConfig(config: Partial<WebXPayConfig>): {
        isValid: boolean;
        errors: string[];
    };
    /**
     * Validate payment form data
     */
    validatePaymentData(data: PaymentFormData): {
        isValid: boolean;
        errors: string[];
    };
    /**
     * Generate unique order ID
     */
    generateOrderId(): string;
    /**
     * Encrypt payment data using RSA public key
     */
    encryptPaymentData(plaintext: string, publicKey: string): string;
    /**
     * Prepare custom fields for WebX Pay
     */
    prepareCustomFields(data: PaymentFormData): string;
    /**
     * Transform PaymentFormData to WebXPayFormData
     */
    transformToWebXPayData(data: PaymentFormData, config: WebXPayConfig, encryptedPayment: string): WebXPayFormData;
    /**
     * Process payment request
     */
    processPayment(data: PaymentFormData): Promise<PaymentResponse>;
    appendParamsToUrl(url: string, params: Record<string, any>): string;
}
