import { EPaycoPaymentResponse } from '../config/epayco.config.js';
export declare class EPaycoSignatureService {
    private static instance;
    private configService;
    private constructor();
    static getInstance(): EPaycoSignatureService;
    /**
     * Genera la firma esperada para validar la respuesta de ePayco
     */
    generateExpectedSignature(response: EPaycoPaymentResponse): string;
    /**
     * Valida la firma de la respuesta de ePayco
     */
    validateSignature(response: EPaycoPaymentResponse): boolean;
    /**
     * Valida que todos los campos requeridos estén presentes
     */
    validateRequiredFields(response: EPaycoPaymentResponse): boolean;
    /**
     * Valida que el monto coincida con el esperado
     */
    validateAmount(response: EPaycoPaymentResponse, expectedAmount: number): boolean;
    /**
     * Valida que la moneda sea la correcta
     */
    validateCurrency(response: EPaycoPaymentResponse): boolean;
    /**
     * Valida que la respuesta sea válida (Aceptada)
     */
    validateResponse(response: EPaycoPaymentResponse): boolean;
    /**
     * Valida completamente una respuesta de ePayco
     */
    validatePaymentResponse(response: EPaycoPaymentResponse, expectedAmount: number): {
        isValid: boolean;
        errors: string[];
    };
    /**
     * Genera un hash seguro para almacenar información sensible
     */
    generateSecureHash(data: string): string;
    /**
     * Valida que la transacción no sea duplicada
     */
    validateTransactionId(transactionId: string, existingTransactionIds: string[]): boolean;
    /**
     * Genera un token de seguridad para el pago
     */
    generatePaymentToken(organizationId: string, planId: string, amount: number): string;
}
//# sourceMappingURL=EPaycoSignatureService.d.ts.map