/** * Base Service * Shared HTTP client and common service functionality */ import { AxiosInstance } from 'axios'; /** * Base service class with shared HTTP client logic */ export declare class BaseService { protected httpClient: AxiosInstance; protected merchantId: string; protected apiKey: string; protected baseURL: string; protected debug: boolean; constructor(merchantId: string, apiKey: string, baseURL: string, debug?: boolean); /** * Handle API response and errors * @param apiCall - Async function that makes the API call * @param successCode - Expected success code (default: '0' for QR, '00' for transactions) * @returns API response data * @throws {PayWayError} If API call fails */ protected handleRequest(apiCall: () => Promise, successCode?: string | string[]): Promise; /** * Make POST request with form-data (for purchase endpoint) * @param endpoint - API endpoint * @param data - Request data * @returns Response */ protected postFormData(endpoint: string, data: any): Promise; /** * Get merchant ID */ getMerchantId(): string; /** * Get API key (for internal use only) */ protected getApiKey(): string; /** * Sanitize data for logging (remove sensitive information) */ protected sanitizeData(data: any): any; /** * Log debug information */ protected logDebug(message: string, data?: any): void; }