#useDynLib(Directional, .registration = TRUE)

importFrom("graphics", contour, lines, plot, points, abline, filled.contour, axis, par)

importFrom("stats", aggregate, coef, cor, dnorm, kmeans, optimise,
           .lm.fit, optim, optimize, pchisq, pf, pnorm, qchisq,
           quantile, rbeta, rnorm, runif, sd, uniroot, qnorm,
           cov, model.matrix, nlm, integrate, rbinom, rcauchy)

importFrom("Rfast", colVars, mahala, colmeans, colsums, rowmeans, rowsums,
           colSort, colMedians, rowMins, rowMaxs, colMaxs, rvmf, vmf.mle,
    	     rvonmises, acg.mle, racg, vm.mle, iag.mle, colhameans, spat.med,
		    	 multivmf.mle, Sort, spml.reg, spml.mle, mediandir, circlin.cor,
			     Table, colnth, wrapcauchy.mle, colOrder, group, dirknn, rbing,
			     rbingham, eachrow, colvm.mle, spml.regs, matrnorm)

importFrom("Rfast2", purka.mle, circ.cor1, circ.cors1, colspml.mle, hcf.circaov,
           lr.circaov, het.circaov, embed.circaov, vm.nb, vmnb.pred, spml.nb, spmlnb.pred)

importFrom("RANN", nn2)

import("doParallel")
import("parallel")
import("foreach")
importFrom("rgl", open3d, points3d, spheres3d)
importFrom("bigstatsr", big_apply, big_read)
importFrom("rnaturalearth", ne_countries)
importFrom("sf", st_transform, st_as_sf)
importFrom("grDevices", heat.colors, hcl.colors, colorRampPalette)
importFrom("magrittr", "%>%")
importFrom("ggplot2", aes, element_line, element_rect, element_text, geom_sf, ggplot,
           ggtitle, labs, scale_fill_gradientn, theme, xlim, ylim)

exportPattern("^[[:alpha:]]+")
exportPattern("^[^\\.]")
