useDynLib(mcr, .registration=TRUE)

### imported generics and functions
import(methods)
importFrom("robslopes","PassingBablok","TheilSen")
importFrom("grDevices", "rgb","axisTicks")
importFrom("utils","tail")
importFrom("graphics", "abline", "arrows", "box", "grid", 
			"hist", "layout", "legend", "mtext", "par", 
			"points", "polygon", "segments", "text", "title")
importFrom("stats", "complete.cases", "cor", "cor.test", 
			"density", "dt", "median", "pnorm", "qnorm", 
			"qqplot", "qt", "quantile", "rt", "sd")

importFrom("parallel", "makeCluster", "detectCores", "clusterEvalQ", 
			"clusterExport", "clusterApplyLB", "clusterSetRNGStream", 
			"stopCluster")


### Generics and functions defined in this package
export(
	"calcBias",
	"calcCUSUM",
	"calcResponse",
	"compareFit",
	"getCoefficients",
	"coef",
	"getData",
	"getErrorRatio",
	"getWeights",
	"getRegmethod",
	"getResiduals",
	"getFitted",
	"getRJIF",
	"includeLegend",
	"mcreg",
	"plot",
	"plotBias",
	"plotDifference",
	"plotResiduals",
	"plotwithRJIF",
	"printSummary",
	"summary",
	"MCResult.calcBias",
	"MCResult.calcCUSUM",
	"MCResult.calcResponse",
	"MCResult.getCoefficients",
	"MCResult.getData",
	"MCResult.getErrorRatio",
	"MCResult.getRegmethod",
	"MCResult.getResiduals",
	"MCResult.getFitted",
	"MCResult.getWeights",
	"MCResult.initialize",
	"MCResult.plot",
	"MCResult.plotBias",
	"MCResult.plotDifference",
	"MCResult.plotResiduals",
	"MCResult.printSummary",
	"MCResultAnalytical.calcResponse",
	"MCResultAnalytical.initialize",
	"MCResultAnalytical.printSummary",
	"MCResultBCa.bootstrapSummary",
	"MCResultBCa.calcResponse",
	"MCResultBCa.initialize",
	"MCResultBCa.plotBootstrapCoefficients",
	"MCResultBCa.plotBootstrapT",
	"MCResultBCa.printSummary",
	"MCResultJackknife.calcResponse",
	"MCResultJackknife.getJackknifeIntercept",
	"MCResultJackknife.getJackknifeSlope",
	"MCResultJackknife.getJackknifeStatistics",
	"MCResultJackknife.getRJIF",
	"MCResultJackknife.initialize",
	"MCResultJackknife.plotwithRJIF",
	"MCResultJackknife.printSummary",
	"MCResultResampling.bootstrapSummary",
	"MCResultResampling.calcResponse",
	"MCResultResampling.initialize",
	"MCResultResampling.plotBootstrapCoefficients",
	"MCResultResampling.plotBootstrapT",
	"MCResultResampling.printSummary"
)



### exported classes
exportClasses(
	"MCResult",
	"MCResultAnalytical",
	"MCResultBCa",
	"MCResultJackknife",
	"MCResultResampling"
)
