## main dclone functions
export("dclone", "dcdim", 
       "jags.fit", "bugs.fit", "dc.fit",
       "clean.jags.model", "write.jags.model", "custommodel",
       "updated.model",
       "dcsd",
       "nclones",
       "mcmcapply",
       "make.symmetric",
       "dctable", "extractdctable",
       "dcdiag", "extractdcdiag", 
       "lambdamax.diag", "chisq.diag",
       "dcoptions")
## rjags remakes
export("jagsModel", "codaSamples")
## parallel functions
export("jags.parfit", "dc.parfit",
       "snowWrapper", 
       "clusterSize", "plotClusterSize",
       "clusterSplitSB", 
       "parLapplySB", "parLapplySLB",
       "parallel.inits",
       "mclapplySB",
       "evalParallelArgument")
## parallel rjags functions
export("parListModules", "parLoadModule", "parUnloadModule",
      "parListFactories", "parSetFactory", 
      "parJagsModel", "parUpdate", "parCodaSamples")
## graphical helper functions
export("errlines")

## import from other packages
importFrom("stats", "quantile", "update", 
      "coef", "vcov", "confint")
importFrom("coda", "as.mcmc.list")
importFrom("utils", "stack")

## export methods for main dclone functions/classes
export(dcsd.mcmc.list, 
        coef.mcmc.list, 
        confint.mcmc.list.dc, 
        vcov.mcmc.list.dc, 
        quantile.mcmc.list, 
        dclone.default, 
        dclone.list, 
        dclone.environment, 
        dclone.dcdim, 
        dctable.default, 
        extractdctable.default, 
        plot.dctable, 
        dcdiag.default, 
        extractdcdiag.default, 
        plot.dcdiag, 
        errlines.default, 
        nclones.list, 
        nclones.default, 
        pairs.mcmc.list, 
        update.mcmc.list,
        stack.mcmc.list)

## register methods for main dclone functions/classes
S3method("nclones", "default")
S3method("nclones", "list")
S3method("dclone", "dcdim")
S3method("dclone", "default")
S3method("dclone", "list")
S3method("dclone", "environment")
S3method("dctable", "default")
S3method("extractdctable", "default")
S3method("dcdiag", "default")
S3method("extractdcdiag", "default")
S3method("updated.model", "mcmc.list")
S3method("updated.model", "mcmc.list.dc")
S3method("update", "mcmc.list")
S3method("stack", "mcmc.list")

S3method("[", "mcmc.list.dc")
S3method("coef", "mcmc")
S3method("vcov", "mcmc")
S3method("quantile", "mcmc")
S3method("as.mcmc.list", "bugs")
S3method("print", "mcmc.list")
S3method("pairs", "mcmc.list")
S3method("quantile", "mcmc.list")
S3method("coef", "mcmc.list")
S3method("dcsd", "mcmc.list")
S3method("vcov", "mcmc.list")
S3method("vcov", "mcmc.list")
S3method("vcov", "mcmc.list.dc")
S3method("confint", "mcmc.list.dc")
S3method("summary", "mcmc.list.dc")
S3method("print", "summary.mcmc.dc")
S3method("plot", "dctable")
S3method("plot", "dcdiag")
S3method("print", "lambdamax.diag")
S3method("print", "chisq.diag")
S3method("plot", "chisq.diag")
S3method("print", "custommodel")

## methods for helper functions/classes
S3method("errlines", "default")
