#ifndef SHRINKTVP_CPP_H
#define SHRINKTVP_CPP_H

Rcpp::List shrinkTVP_cpp(arma::vec y,
                         arma::mat x,
                         std::string mod_type,
                         int niter,
                         int nburn,
                         int nthin,
                         double c0,
                         double g0,
                         double G0,
                         double d1,
                         double d2,
                         double e1,
                         double e2,
                         bool learn_lambda2_B,
                         bool learn_kappa2_B,
                         double lambda2_B,
                         double kappa2_B,
                         bool learn_a_xi,
                         bool learn_a_tau,
                         double a_xi,
                         double a_tau,
                         bool learn_c_xi,
                         bool learn_c_tau,
                         double c_xi,
                         double c_tau,
                         bool a_eq_c_xi,
                         bool a_eq_c_tau,
                         double a_tuning_par_xi,
                         double a_tuning_par_tau,
                         double c_tuning_par_xi,
                         double c_tuning_par_tau,
                         double beta_a_xi,
                         double beta_a_tau,
                         double alpha_a_xi,
                         double alpha_a_tau,
                         double beta_c_xi,
                         double beta_c_tau,
                         double alpha_c_xi,
                         double alpha_c_tau,
                         bool display_progress,
                         bool sv,
                         double Bsigma_sv,
                         double a0_sv,
                         double b0_sv,
                         double bmu,
                         double Bmu,
                         arma::vec adaptive,
                         arma::vec target_rates,
                         arma::vec max_adapts,
                         arma::ivec batch_sizes,
                         Rcpp::List starting_vals);

#endif
