useDynLib(spOccupancy, .registration=TRUE)

export(PGOcc)
export(simOcc)
export(spPGOcc)
export(simMsOcc)
export(msPGOcc)
export(spMsPGOcc)
export(simIntOcc)
export(intPGOcc)
export(spIntPGOcc)
export(lfMsPGOcc)
export(sfMsPGOcc)
export(lfJSDM)
export(sfJSDM)
export(simTOcc)
export(tPGOcc)
export(stPGOcc)
export(ppcOcc)
export(waicOcc)
export(simBinom)
export(svcPGBinom)
export(svcPGOcc)
export(simTBinom)
export(svcTPGBinom)
export(svcTPGOcc)
export(getSVCSamples)
export(simIntMsOcc)
export(intMsPGOcc)
export(postHocLM)
export(svcMsPGOcc)
export(stMsPGOcc)
export(svcTMsPGOcc)
export(simTMsOcc)
export(tMsPGOcc)
export(updateMCMC)
export(simTIntOcc)
export(tIntPGOcc)
export(stIntPGOcc)
export(svcTIntPGOcc)

S3method("predict", "PGOcc")
S3method("print", "PGOcc")
S3method("fitted", "PGOcc")
S3method("plot", "PGOcc")
S3method("summary", "PGOcc")
S3method("residuals", "PGOcc")

S3method("summary", "ppcOcc")

S3method("predict", "spPGOcc")
S3method("print", "spPGOcc")
S3method("fitted", "spPGOcc")
S3method("plot", "spPGOcc")
S3method("summary", "spPGOcc")
S3method("residuals", "spPGOcc")

S3method("predict", "msPGOcc")
S3method("print", "msPGOcc")
S3method("fitted", "msPGOcc")
S3method("plot", "msPGOcc")
S3method("summary", "msPGOcc")

S3method("predict", "spMsPGOcc")
S3method("print", "spMsPGOcc")
S3method("fitted", "spMsPGOcc")
S3method("plot", "spMsPGOcc")
S3method("summary", "spMsPGOcc")

S3method("predict", "intPGOcc")
S3method("print", "intPGOcc")
S3method("fitted", "intPGOcc")
S3method("plot", "intPGOcc")
S3method("summary", "intPGOcc")

S3method("predict", "spIntPGOcc")
S3method("print", "spIntPGOcc")
S3method("fitted", "spIntPGOcc")
S3method("plot", "spIntPGOcc")
S3method("summary", "spIntPGOcc")

S3method("predict", "lfMsPGOcc")
S3method("print", "lfMsPGOcc")
S3method("fitted", "lfMsPGOcc")
S3method("plot", "lfMsPGOcc")
S3method("summary", "lfMsPGOcc")

S3method("predict", "sfMsPGOcc")
S3method("print", "sfMsPGOcc")
S3method("fitted", "sfMsPGOcc")
S3method("plot", "sfMsPGOcc")
S3method("summary", "sfMsPGOcc")

S3method("predict", "lfJSDM")
S3method("print", "lfJSDM")
S3method("fitted", "lfJSDM")
S3method("plot", "lfJSDM")
S3method("summary", "lfJSDM")

S3method("predict", "sfJSDM")
S3method("print", "sfJSDM")
S3method("fitted", "sfJSDM")
S3method("plot", "sfJSDM")
S3method("summary", "sfJSDM")

S3method("predict", "tPGOcc")
S3method("print", "tPGOcc")
S3method("fitted", "tPGOcc")
S3method("plot", "tPGOcc")
S3method("summary", "tPGOcc")

S3method("predict", "stPGOcc")
S3method("print", "stPGOcc")
S3method("fitted", "stPGOcc")
S3method("plot", "stPGOcc")
S3method("summary", "stPGOcc")

S3method("predict", "svcPGBinom")
S3method("print", "svcPGBinom")
S3method("fitted", "svcPGBinom")
S3method("plot", "svcPGBinom")
S3method("summary", "svcPGBinom")

S3method("predict", "svcPGOcc")
S3method("print", "svcPGOcc")
S3method("fitted", "svcPGOcc")
S3method("plot", "svcPGOcc")
S3method("summary", "svcPGOcc")
S3method("residuals", "svcPGOcc")

S3method("predict", "svcTPGBinom")
S3method("print", "svcTPGBinom")
S3method("fitted", "svcTPGBinom")
S3method("plot", "svcTPGBinom")
S3method("summary", "svcTPGBinom")

S3method("predict", "svcTPGOcc")
S3method("print", "svcTPGOcc")
S3method("fitted", "svcTPGOcc")
S3method("plot", "svcTPGOcc")
S3method("summary", "svcTPGOcc")

S3method("predict", "svcTPGOcc")
S3method("print", "svcTPGOcc")
S3method("fitted", "svcTPGOcc")
S3method("plot", "svcTPGOcc")
S3method("summary", "svcTPGOcc")

S3method("predict", "intMsPGOcc")
S3method("print", "intMsPGOcc")
# S3method("fitted", "intMsPGOcc")
S3method("plot", "intMsPGOcc")
S3method("summary", "intMsPGOcc")

S3method("summary", "postHocLM")
S3method("print", "postHocLM")

S3method("predict", "svcMsPGOcc")
S3method("print", "svcMsPGOcc")
S3method("fitted", "svcMsPGOcc")
S3method("plot", "svcMsPGOcc")
S3method("summary", "svcMsPGOcc")

S3method("predict", "svcTMsPGOcc")
S3method("print", "svcTMsPGOcc")
S3method("fitted", "svcTMsPGOcc")
S3method("plot", "svcTMsPGOcc")
S3method("summary", "svcTMsPGOcc")

S3method("predict", "stMsPGOcc")
S3method("print", "stMsPGOcc")
S3method("fitted", "stMsPGOcc")
S3method("plot", "stMsPGOcc")
S3method("summary", "stMsPGOcc")

S3method("predict", "tMsPGOcc")
S3method("print", "tMsPGOcc")
S3method("fitted", "tMsPGOcc")
S3method("plot", "tMsPGOcc")
S3method("summary", "tMsPGOcc")

S3method("predict", "tIntPGOcc")
S3method("print", "tIntPGOcc")
S3method("fitted", "tIntPGOcc")
S3method("plot", "tIntPGOcc")
S3method("summary", "tIntPGOcc")

S3method("predict", "stIntPGOcc")
S3method("print", "stIntPGOcc")
S3method("fitted", "stIntPGOcc")
S3method("plot", "stIntPGOcc")
S3method("summary", "stIntPGOcc")

S3method("predict", "svcTIntPGOcc")
S3method("print", "svcTIntPGOcc")
S3method("fitted", "svcTIntPGOcc")
S3method("plot", "svcTIntPGOcc")
S3method("summary", "svcTIntPGOcc")

importFrom("stats", "dist", "rbinom", "rnorm", "coefficients", "glm", "is.empty.model", "model.matrix", "model.response", "terms", "runif", "quantile", "dbinom", "var", "rgamma", "sd", "pnorm")
importFrom("coda", "mcmc", "gelman.diag", "mcmc.list", "effectiveSize")
importFrom("abind", "abind")
importFrom("RANN", "nn2")
importFrom("lme4", "findbars", "mkReTrms", "nobars")
importFrom("foreach", "foreach", "%do%", "%dopar%")
importFrom("doParallel", "registerDoParallel", "stopImplicitCluster")
importFrom("methods", "is")
importFrom("spAbundance", "msAbund")
