import { PaymentRequest, PaymentResponse, CallbackData } from '../types';
import { IEventEmitter } from './IEventEmitter';
export interface IPaymentMethod {
    readonly eventEmitter: IEventEmitter;
    /**
     * Create a payment request
     * @param params Payment parameters
     * @returns Promise resolving to payment response
     */
    pay(params: Omit<PaymentRequest, 'apiKey'>): Promise<PaymentResponse>;
    /**
     * Verify callback data from payment gateway
     * @param callbackData Callback data received from payment gateway
     * @returns boolean indicating if callback is valid
     */
    verifyCallback(callbackData: CallbackData): boolean;
}
