/**
 * SVM-Pay Transfer Request Handler
 *
 * This file implements the handler for transfer requests in the SVM-Pay protocol.
 * Transfer requests are non-interactive requests for simple token transfers.
 */
import { NetworkAdapter, PaymentRecord, SVMNetwork, TransferRequest, RequestType } from './types';
/**
 * Payment store interface for persisting payment records
 */
interface PaymentStore {
    save(record: PaymentRecord): Promise<void>;
    load(id: string): Promise<PaymentRecord | null>;
    loadByType(type: RequestType): Promise<PaymentRecord[]>;
    update(id: string, updates: Partial<PaymentRecord>): Promise<PaymentRecord>;
    delete(id: string): Promise<boolean>;
}
/**
 * Handler for transfer requests
 */
export declare class TransferRequestHandler {
    private networkAdapters;
    private paymentStore;
    /**
     * Create a new TransferRequestHandler
     *
     * @param networkAdapters Map of network adapters for each supported network
     * @param paymentStore Optional payment store (defaults to in-memory)
     */
    constructor(networkAdapters: Map<SVMNetwork, NetworkAdapter>, paymentStore?: PaymentStore);
    /**
     * Process a transfer request
     *
     * @param request The transfer request to process
     * @returns A payment record for the processed request
     */
    processRequest(request: TransferRequest): Promise<PaymentRecord>;
    /**
     * Submit a signed transaction for a transfer request
     *
     * @param paymentId The ID of the payment record
     * @param transaction The transaction to submit
     * @param signature The signature for the transaction
     * @returns The updated payment record
     */
    submitTransaction(paymentId: string, transaction: string, signature: string): Promise<PaymentRecord>;
    /**
     * Check the status of a payment
     *
     * @param paymentId The ID of the payment to check
     * @returns The updated payment record
     */
    checkStatus(paymentId: string): Promise<PaymentRecord>;
}
export {};
//# sourceMappingURL=transfer-handler.d.ts.map