import { type HttpClient } from './util/http'; import type { PaymentRequestParams, SignedRequest } from './types/request'; import type { CallbackQuery, ParsedCallback } from './types/callback'; import type { PaymentMethodList, PaymentMethodOptions } from './types/payment-method'; export interface WebToPayClientConfig { projectId: number; password: string; sandbox?: boolean; paymentUrl?: string; publicKeyUrl?: string; paymentMethodListUrl?: string; httpClient?: HttpClient; } export declare class WebToPayClient { private config; private routes; private requestBuilder; private httpClient; private cachedPublicKey; private paymentMethodProvider; constructor(config: WebToPayClientConfig); /** * Build a signed payment request (data + sign). * Synchronous — no network calls. */ buildRequest(params: PaymentRequestParams): SignedRequest; /** * Build a complete payment redirect URL. * Synchronous — no network calls. */ buildPaymentUrl(params: PaymentRequestParams): string; /** * Build a repeat payment request. * Synchronous — no network calls. */ buildRepeatRequest(orderId: string, amount: number, currency: string): SignedRequest; /** * Validate and parse a callback from Paysera. * Async — may fetch the RSA public key on first call (for SS2/SS3 verification). */ validateCallback(query: CallbackQuery): Promise; /** * Validate callback and check that expected fields match. * Convenience method combining validation and field checking. */ validateCallbackWithExpected(query: CallbackQuery, expected: Partial): Promise; /** * Get available payment methods from Paysera. * Async — fetches XML from Paysera API. Results are cached. */ getPaymentMethods(options?: PaymentMethodOptions): Promise; private getSignChecker; private fetchPublicKey; } //# sourceMappingURL=client.d.ts.map