import { PaymentsModule } from './modules/payments';
import { PaymentRequestResponse } from './types/payment';
import { SupportedToken } from './types/token';
interface BeepClientOptions {
    apiKey: string;
    serverUrl?: string;
}
export * from './types';
export interface RequestPaymentPayload {
    amount: number;
    token?: SupportedToken;
    splTokenAddress?: string;
    description: string;
    payerType?: 'customer_wallet' | 'merchant_wallet';
}
export declare class BeepClient {
    private client;
    payments: PaymentsModule;
    constructor(options: BeepClientOptions);
    /**
     * The simplest way to request a payment.
     * This one-stop method creates an invoice and prepares it for payment.
     * @param payload The details of the charge.
     * @returns A promise that resolves to the created invoice.
     */
    /**
     * Converts a decimal amount to base units based on token decimals
     * @param amount The decimal amount (e.g., 0.01)
     * @param token The token type
     * @returns The amount in base units as an integer (e.g., 10000 for 0.01 USDT)
     */
    private convertAmountToBaseUnits;
    requestPayment(payload: {
        amount: number;
        token?: SupportedToken;
        description?: string;
        splTokenAddress?: string;
        payerType?: string;
    }): Promise<PaymentRequestResponse>;
    healthCheck(): Promise<string>;
}
//# sourceMappingURL=index.d.ts.map