import { FlowPaymentMethods, FlowPaymentStatus } from '../types/flow';
/**
 * Obtiene el código de metodo de pago en Flow.
 * @param paymentMethod El metodo de pago "webpay-plus" | "mach" | "khipu" | "redpay" | "onepay" | "flow"
 * @returns El codigo de metodo de pago en Flow.
 */
declare function getPaymentMethod(paymentMethod: FlowPaymentMethods): number;
/**
 * Obtiene el estado de un pago en Flow.
 * @param status numero de estado
 * @returns El estado del pago en Flow en formato string.
 */
declare function getPaymentStatus(status: number): FlowPaymentStatus;
/**
 * Verifica si una fecha está en el formato YYYY-MM-DD o intenta convertirla.
 * @param dateString La fecha en formato string o Date.
 * @returns La fecha en formato YYYY-MM-DD si es válida, o null si no puede convertirse.
 */
declare function isValidPaymentReceivedByDate(dateString: string | Date): string | null;
/**
 * Genera una firma HMAC-SHA256 para asegurar la autenticidad de los datos enviados a Flow.
 * @param params Parámetros a firmar.
 * @returns Firma generada.
 */
declare function generateSignature(params: Record<string, string>, secretKey: string): string;
/**
 * Genera un objeto con los datos a enviar y la firma HMAC-SHA256.
 * @param data Recibe un objeto con los datos a enviar
 * @param secretKey Recibe la clave secreta para firmar los datos
 * @returns Retorna un objeto con los datos y la firma
 */
declare function generateFormData<T extends Record<string, string>>(data: T, secretKey: string): T & {
    s: string;
};
export { getPaymentMethod, getPaymentStatus, isValidPaymentReceivedByDate, generateSignature, generateFormData, };
//# sourceMappingURL=flow.utils.d.ts.map