/**
 * Export all facilitator implementations
 * This file serves as a central export point for all blockchain-specific facilitators
 * and provides a unified interface for easier use
 */
import * as evmFacilitator from "./evm/facilitator.js";
import * as solanaFacilitator from "./solana/facilitator.js";
export * as evm from "./evm/facilitator.js";
export * as solana from "./solana/facilitator.js";
import { PaymentRequirements, VerifyResponse, SettleResponse, EvmPaymentPayload, SolanaPaymentPayload } from "../types";
import { EvmClient, SolanaClient } from "../types/shared/client";
import { PublicClient } from "viem";
/**
 * Type representing any supported payment payload
 */
export type PaymentPayload = EvmPaymentPayload | SolanaPaymentPayload;
/**
 * Type representing any supported client
 */
export type Client = EvmClient | SolanaClient | PublicClient;
/**
 * Verifies a payment payload against the required payment details
 * Automatically detects the appropriate blockchain implementation
 *
 * @param payload - The signed payment payload
 * @param paymentRequirements - The payment requirements that the payload must satisfy
 * @param client - Optional client used for blockchain interactions (required for EVM)
 * @returns A VerifyResponse indicating if the payment is valid and any invalidation reason
 */
export declare function verify(payload: PaymentPayload, paymentRequirements: PaymentRequirements): Promise<VerifyResponse>;
/**
 * Settles a payment payload against the required payment details
 * Automatically detects the appropriate blockchain implementation
 *
 * @param payload - The signed payment payload
 * @param paymentRequirements - The payment requirements that the payload must satisfy
 * @param privateKeyOrClient - Private key (for EVM) or client (for Solana)
 * @returns A SettleResponse indicating if the payment is settled and any settlement reason
 */
export declare function settle(payload: PaymentPayload, paymentRequirements: PaymentRequirements, privateKeyOrClient: string | Client): Promise<SettleResponse>;
/**
 * Get supported payment schemes and networks for all implementations
 *
 * @returns Object containing supported schemes and networks for each blockchain
 */
export declare function getSupported(): {
    evm: evmFacilitator.Supported;
    solana: solanaFacilitator.Supported;
};
//# sourceMappingURL=index.d.ts.map