useDynLib(BNPmix, .registration = TRUE)

importFrom(Rcpp, evalCpp)
importFrom(methods, new)
importFrom(ggplot2, ggplot, theme, theme_bw, element_blank, aes, geom_line,stat_contour, facet_wrap, guides, geom_point, geom_histogram)
importFrom(stats, as.dist, cutree, hclust, rWishart, rgamma, rnorm, aggregate, quantile, uniroot, approx)
importFrom(coda, as.mcmc)
importFrom(ggpubr, ggarrange)
importFrom(stats, var)

# exportPattern("^[[:alpha:]]+")
export(BNPmix_BIN)
export(BNPdens2coda)
export(BNPdens2coda.BNPdens)
export(dBNPdens)
export(dBNPdens.BNPdens)
export(BNPmix_psm)
export(BNPpart)
export(clean_partition)
export(DDPdensity)
export(partition)
export(partition.BNPdens)
export(plot.BNPdens)
export(print.BNPdens)
export(PYcalibrate)
export(PYdensity)
export(PYregression)
export(summary.BNPdens)
export(BNPmix_VI_LB)

# registring methods
S3method(plot, BNPdens)
S3method(print, BNPdens)
S3method(summary, BNPdens)
S3method(BNPdens2coda, BNPdens)
S3method(partition, BNPdens)
S3method(dBNPdens, BNPdens)
