import { PaymentGateway, PaymentMethod, PaymentTransaction, CreatePaymentRequest, PaymentResponse, RefundRequest, PaymentAnalytics, PaymentWebhookEvent, InstallmentPlan, BankTransferInfo } from '../types/payment';
import { BaseResource } from './base';
export declare class PaymentResource extends BaseResource {
    /**
     * Get list of payment gateways
     */
    listGateways(): Promise<{
        data: PaymentGateway[];
    }>;
    /**
     * Get gateway by code
     */
    getGateway(code: string): Promise<PaymentGateway>;
    /**
     * Update gateway settings
     */
    updateGatewaySettings(code: string, settings: Partial<PaymentGateway['settings']>): Promise<PaymentGateway>;
    /**
     * Get list of payment methods
     */
    listMethods(params?: {
        gateway_code?: string;
        currency?: string;
        is_active?: boolean;
    }): Promise<{
        data: PaymentMethod[];
    }>;
    /**
     * Create payment transaction
     */
    createPayment(data: CreatePaymentRequest): Promise<PaymentResponse>;
    /**
     * Get transaction by ID
     */
    getTransaction(transactionId: string): Promise<PaymentTransaction>;
    /**
     * List transactions
     */
    listTransactions(params?: {
        page_size?: number;
        page_number?: number;
        gateway_code?: string;
        status?: string;
        from_date?: string;
        to_date?: string;
        order_id?: string;
    }): Promise<{
        data: PaymentTransaction[];
    }>;
    /**
     * Refund transaction
     */
    refund(data: RefundRequest): Promise<PaymentTransaction>;
    /**
     * Cancel transaction
     */
    cancel(transactionId: string, reason?: string): Promise<PaymentTransaction>;
    /**
     * Get payment analytics
     */
    getAnalytics(params?: {
        from_date?: string;
        to_date?: string;
        gateway_code?: string;
    }): Promise<PaymentAnalytics>;
    /**
     * Handle webhook event
     */
    handleWebhook(gatewayCode: string, data: Record<string, any>, signature?: string): Promise<PaymentWebhookEvent>;
    /**
     * Get installment plans
     */
    getInstallmentPlans(params: {
        amount: number;
        gateway_code?: string;
        bank_code?: string;
    }): Promise<{
        data: InstallmentPlan[];
    }>;
    /**
     * Get bank transfer info
     */
    getBankTransferInfo(transactionId: string): Promise<BankTransferInfo>;
    /**
     * Verify bank transfer
     */
    verifyBankTransfer(transactionId: string, data: {
        transfer_proof?: string;
        bank_reference?: string;
        amount?: number;
        transferrer?: string;
    }): Promise<PaymentTransaction>;
    /**
     * Get payment QR code
     */
    getPaymentQR(transactionId: string, params?: {
        format?: 'svg' | 'png';
        size?: number;
    }): Promise<{
        qr_code: string;
        expires_at: string;
    }>;
}
