export type FindPlanPaymentsParams = {
    _id?: string;
};

export interface IPlanPayment {
    id?: string;
    userId: string; // Referencia al ID del usuario
    subscriptionId: string; // Referencia al ID de la suscripción
    amount: number; // Monto pagado
    paymentDate: Date; // Fecha del pago
    paymentMethod: string; // Método de pago (tarjeta, PayPal, etc.)
    status: "completed" | "failed" | "pending"; // Estado del pago
    transactionId?: string; // Identificador de la transacción
}

export interface IPlanPaymentsAdapter {
    find(filters: FindPlanPaymentsParams): Promise<IPlanPayment[]>;
}

export interface IPlanPaymentsManager {
    planPayments: IPlanPaymentsAdapter;
    find(data: FindPlanPaymentsParams): Promise<IPlanPayment[]>;
}
