useDynLib(mvabund, .registration = TRUE)

export(RcppVersion,
       as.mvabund,
       anova.manylm, 
       anova.manyglm,
       anova.manyany,
       anova.traitglm,
       boxplot.mvabund, 
       boxplot.mvformula,
       best.r.sq,
       cv.glm1path,
       deviance.manylm,
       extend.x.formula, 
       formulaUnimva,
       glm1,
       glm1path,
       is.mvabund,
       is.mvformula,
       mvabund, 
       mvformula,
       manylm, 
       manyglm, 
       manyany,
       predict.manylm,
       predict.manyglm,
       predict.traitglm,
       print.manyany,
       print.manyglm,
       print.anova.manyany,
       print.anova.manylm, 
       print.summary.manylm, 
       print.anova.manyglm, 
       print.summary.manyglm, 
       print.mvformula,
       plotMvaFactor, 
       plotFormulafeature, 
       plot.glm1path,
       plot.mvabund,
       plot.manylm,
       plot.manyglm,
       plot.manyany,
       plot.mvformula,
       ridgeParamEst,
       residuals.glm1path,
       residuals.manyany, 
       residuals.manyglm, 
       summary.manylm,
       summary.manyglm,
       shiftpoints,
       traitglm,
       unabund       
       )

exportClasses(mvabund, mvformula)

exportMethods(meanvar.plot)

import(Rcpp, MASS, graphics, methods, tweedie, statmod, parallel)

S3method(extractAIC, manyglm)
S3method(logLik, manyglm)
S3method(logLik, manylm)
S3method(logLik, manyany)
S3method(anova, manyany)
S3method(anova, manyglm)
S3method(anova, manylm)
S3method(anova, traitglm)
S3method(summary, manyglm)
S3method(summary, manylm)
S3method(predict, manyglm)
S3method(predict, manylm)
S3method(predict, traitglm)
S3method(deviance, manylm)
S3method(residuals, manyany)
S3method(residuals, manyglm)
S3method(residuals, glm1path)
S3method(plot, manyany)
S3method(plot, manyglm)
S3method(plot, manylm)
S3method(plot, mvabund)
S3method(plot, mvformula)
S3method(plot, glm1path)
S3method(boxplot, mvabund)
S3method(boxplot, mvformula)
S3method(print, anova.manyany)
S3method(print, anova.manyglm)
S3method(print, anova.manylm)
S3method(print, manyany)
S3method(print, manyglm)
S3method(print, mvformula)
S3method(print, summary.manyglm)
S3method(print, summary.manylm)

importFrom("grDevices", "bmp", "dev.cur", "dev.interactive", "dev.list", "dev.off", "dev.set",
           "jpeg", "palette", "pdf", "png", "postscript", "rainbow")
importFrom("stats", ".getXlevels", "as.formula", "binomial", "coef", "contrasts", "contrasts<-",
           "cov", "dbinom", "dnbinom", "dpois", "dcauchy", "deviance", "df.residual", "dfbeta",
           "dnorm", "fitted", "formula", "gaussian", "glm", "is.empty.model", "lm", "loess.smooth",
           "logLik", "make.link", "model.frame", "model.matrix", "model.offset", "model.response",
           "model.weights", "na.exclude", "na.fail", "na.omit", "na.pass", "naprint", "naresid",
           "pbinom", "pcauchy", "pf", "pnbinom", "pnorm", "poisson", "poly", "ppois", "predict",
           "predict.glm", "predict.lm", "printCoefmat", "qbinom", "qcauchy", "qnbinom", "qnorm",
           "qpois", "quantile", "rbinom", "reformulate", "residuals", "rnbinom", "rpois", "runif",
           "sd", "symnum", "terms", "update", "var", "variable.names", "weighted.residuals",
           "weights") 
importFrom("utils", "data", "flush.console", "installed.packages")
