export(
       "toGraphviz",
       "fitAbn",              "fitabn",
       "buildScoreCache",     "buildscorecache",
       "mostProbable",        "mostprobable",
       "searchHillClimber",   "searchHillclimber",
       "plotAbn", "plotabn",
       "simulateAbn",
       "logit",
       "expit",
       "odds",
       "or",
       "mb",
       "linkStrength",
       "discretization",
       "essentialGraph",
       "compareDag",
       "infoDag",
       "simulateDag",
       "searchHeuristic",
       "entropyData",
       "miData",
       "scoreContribution",
       "createAbnDag"
        )

useDynLib(abn)

importFrom("grDevices", "rgb", "dev.flush", "dev.new", "dev.list", "dev.off")
importFrom("graphics", "plot", "lines", "par", "points", "title")

importFrom("methods", "initialize", "new", "slot")
   ## this is for the handling of the graph classes passed to Rgraphviz.

importFrom("stats", "complete.cases", "sd", "spline","coef", "model.matrix", "pnorm", "pt", "residuals", "hatvalues", "AIC", "BIC", "family")
importFrom("rjags", "coda.samples", "jags.model")
importFrom("stats", "IQR", "cor", "nobs", "rbinom", "dbinom", "dist", "dnorm", "dpois", "glm","predict.glm", "sigma")
importFrom("utils", "tail", "combn")
importFrom("nnet", "multinom", "nnet.default")
importFrom("lme4", "glmer", "VarCorr")
importFrom("Rgraphviz", "layoutGraph", "renderGraph", "plot", "buildEdgeList")


#Used in /tests/  not necessary to import
#importFrom("boot",logit, inv.logit)
#importFrom("entropy", discretize2d, entropy.empirical, mi.empirical)
#importFrom("moments", skewness)
#importFrom("brglm", brglm)


importFrom("foreach","%dopar%", foreach)
importFrom("doParallel", registerDoParallel)
importFrom("parallel", stopCluster, makeCluster)


S3method(print, abnDag)
S3method(print, abnCache)
S3method(print, abnHeuristic)
S3method(print, abnMostprobable)
S3method(print, abnFit)
S3method(print, abnHillClimber)
S3method(plot, abnHillClimber)
S3method(plot, abnDag)
S3method(plot, abnHeuristic)
S3method(plot, abnMostprobable)
S3method(summary, abnDag)
S3method(summary, abnFit)
S3method(summary, abnMostprobable)
S3method(coef, abnFit)
S3method(AIC, abnFit)
S3method(BIC, abnFit)
S3method(family, abnFit)
S3method(logLik, abnFit)
S3method(nobs, abnFit)
S3method(plot, abnFit)
