useDynLib(fastplm, .registration = TRUE)
importFrom(Rcpp, evalCpp)
importFrom("stats", "na.omit", "sd", "prcomp", "pf", "pt", 
           "pnorm", "qnorm", "quantile", "var",
		   "aggregate", "cov", "pchisq", "qt")
importFrom("foreach","foreach","%dopar%")
importFrom("doParallel","registerDoParallel")
importFrom("parallel", "detectCores", "stopCluster", "makeCluster")
importFrom("future","makeClusterPSOCK")
importFrom("splines", "bs")

##export(create.indicators)
##export(create.subindicators)
##export(create.complex.effect)
##export(create.fixed.effects)
##export(SolveFixedEffects)
##export(CreateFixedEffects)
##export(ContainMultipleComponents)
##export(CheckComponents)
##export(locate.effect)
##export(WARN.INDS.unknown.indicator)
##export(WARN.INDS.cross.component)
##export(clustercpp)
##export(ivclustercpp)
##export(solveiv)
##export(solvecpp)
##export(solvegmm)
##export(solvegmm_meat)
##export(simpleols)

export(fastplm.core)
export(fastplm)
##S3method("fastplm", "default")
##S3method("fastplm", "formula")
S3method("predict", "fastplm")
S3method("summary", "fastplm")
